HELP COM CRIA?ÃO DE API / WEB SERVICE COM BD MYSQL
Tenho esse metodo...
E tenho esta resposta como faco para jogar este resultado em label no meu app windows form...
Forma de chamada no Windows form
Dim servico As New ServiceReference1.ServiceSoapClient
servico.EfetuarLogin(TextBox1.Text, TextBox2.Text)
Citação::
Só uma curiosidade... porque vc não optou por uma solução convencional para desktop?
Qual seria? Todas as dicas são bem vindas...
O problema e que a rede aonde vai ser executado o sistema todas as portas são fechadas, e por ser um prefeitura dificilmente conseguirei abrir as portas ultilizadas pelo MySQL, assim não consigo fazer nenhuma execução pois o proxy efetua o bloqueio.
Finaliza no web service, vai ser melhor...
Agora, o retorno pode ser de diversas formas, como um tipo (string, inteiro, booleano) ou até uma classe com os valores, ou um list<t>, em fim, você decide.
Por este motivo que enfatizei o uso de orientação a objetos anteriormente.
Um exemplo básico é fazer isto.
Criar uma classe de usuário
Public Class ClsUsuario
Public Property id as integer?
Public Property nome as string
Public Property encontrou as boolean
End class
Na chamada do seu web service, você retorna esta classe.
WebMethod()> _
Public Function EfetuarLogin(ByVal usuario As String, ByVal senha As String) As ClsUsuario
Dim usuario as new ClsUsuario
[ô]Aqui realiza a consulta no banco
[ô]Se encontrar, preenche os dados do usuário, caso contrário, preenche o atributo [Ô]encontrou[Ô] da classe usuário como false, assim você pode tratar isto no seu código
if (dr.Read() = true) then
usuario.id = dr.item([Ô]id[Ô])
usuario.nome = dr.item([Ô]nome[Ô])
usuario.encontrou = true
else
usuario.id = 0
usuario.nome = [Ô][Ô]
usuario.encontrou = false
end if
return usuario
End Function
é claro, você também pode retornar apenas um boolean na sua function, dizendo que encontrou, mas neste caso, já estamos retornando na mesma function os dados do usuário, que é representada pela classe que instanciamos.
Citação::
:
Só uma curiosidade... porque vc não optou por uma solução convencional para desktop?
Qual seria? Todas as dicas são bem vindas...
O problema e que a rede aonde vai ser executado o sistema todas as portas são fechadas, e por ser um prefeitura dificilmente conseguirei abrir as portas ultilizadas pelo MySQL, assim não consigo fazer nenhuma execução pois o proxy efetua o bloqueio.
Eu acho o seguinte... quem vende a solução precisa especificar os requisitos técnicos do sistema em contrato. Se todas as questões técnicas da solução estiverem em contrato, então não há o que discutir. Então, essa questão das portas não é da sua alçada, é um requisito para que a solução funcione. Quem precisa resolver a questão é o seu chefe.
Public Class DadosUsuario
Private id As Integer
Public Property iduser() As Integer
Get
Return id
End Get
Set(ByVal value As Integer)
id = value
End Set
End Property
Private nome As String
Public Property nomeuser() As String
Get
Return nome
End Get
Set(ByVal value As String)
nome = value
End Set
End Property
Private encontrou As Boolean
Public Property encontrouuser() As Boolean
Get
Return encontrou
End Get
Set(ByVal value As Boolean)
encontrou = value
End Set
End Property
Private unidade As String
Public Property unidadeuser() As String
Get
Return unidade
End Get
Set(ByVal value As String)
unidade = value
End Set
End Property
Private unidadedestino As String
Public Property unidadedestinouser() As String
Get
Return unidadedestino
End Get
Set(ByVal value As String)
unidadedestino = value
End Set
End Property
End Class
Citação::
:
:
Só uma curiosidade... porque vc não optou por uma solução convencional para desktop?
Qual seria? Todas as dicas são bem vindas...
O problema e que a rede aonde vai ser executado o sistema todas as portas são fechadas, e por ser um prefeitura dificilmente conseguirei abrir as portas ultilizadas pelo MySQL, assim não consigo fazer nenhuma execução pois o proxy efetua o bloqueio.
Eu acho o seguinte... quem vende a solução precisa especificar os requisitos técnicos do sistema em contrato. Se todas as questões técnicas da solução estiverem em contrato, então não há o que discutir. Então, essa questão das portas não é da sua alçada, é um requisito para que a solução funcione. Quem precisa resolver a questão é o seu chefe.
Existe CHEFE E EXISTE LIDER... Eu tenho um CHEFE e a faculdade para pagar infelizmente.
[ô]Public Sub Listar(ByVal nListview As ListView)
[ô] Try
[ô] Conectar()
[ô] Dim ID As Integer = 0
[ô] myCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]Select * from tb_pacientes order by id[Ô], myCON)
[ô] myDRR = myCMD.ExecuteReader()
[ô] If myDRR.HasRows = True Then
[ô] While myDRR.Read
[ô] While myDRR.Read
[ô] nListview.Items.Add(myDRR.Item([Ô]id[Ô]))
[ô] nListview.Items.Item(ID).SubItems.Add(myDRR.Item([Ô]nome[Ô]))
[ô] nListview.Items.Item(ID).SubItems.Add(myDRR.Item([Ô]unidade[Ô]))
[ô] nListview.Items.Item(ID).SubItems.Add(myDRR.Item([Ô]unidade_destino[Ô]))
[ô] ID += 1
[ô] End While
[ô] ID += 1
[ô] End While
[ô] End If
[ô] myDRR.Close()
[ô] myCMD.Dispose()
[ô] Desconectar()
[ô] Catch ex As Exception
[ô] MsgBox(ex.Message)
[ô] End Try
[ô]End Sub
Server Error in [ô]/[ô] Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a [Ô]web.config[Ô] configuration file located in the root directory of the current web application. This <customErrors> tag should then have its [Ô]mode[Ô] attribute set to [Ô]Off[Ô].
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode=[Ô]Off[Ô]/>
</system.web>
</configuration>
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the [Ô]defaultRedirect[Ô] attribute of the application[ô]s <customErrors> configuration tag to point to a custom error page URL.
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode=[Ô]RemoteOnly[Ô] defaultRedirect=[Ô]mycustompage.htm[Ô]/>
</system.web>
</configuration>