HELP COM CRIA?ÃO DE API / WEB SERVICE COM BD MYSQL

KURTGU 17/02/2017 21:17:47
#471781
Duvida como faco para receber o valor buscado no banco. exemplo abaixo...

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)
MARCOSLING 17/02/2017 22:14:29
#471782
Só uma curiosidade... porque vc não optou por uma solução convencional para desktop?
KURTGU 17/02/2017 22:34:02
#471783
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.
GUIMORAES 18/02/2017 08:51:42
#471784
KURTGU,

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.




MARCOSLING 18/02/2017 10:39:09
#471787
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.
KURTGU 18/02/2017 10:39:41
#471788
Boa dia a todos GUIMORAES123 Da forma que esta acima recebo alguns erros, fiz da forma abaixo tem algum problema? Criei uma Classe separada do WS e fiz da forma abaixo.

 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


KURTGU 18/02/2017 10:59:27
#471790
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.



KURTGU 18/02/2017 17:48:04
#471791
Qual a melhor forma de Carregar uma Lista dentro do webservice, e Jogar dentro de uma Listview? Antes eu fazia desta forma...

 [ô]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



KURTGU 18/02/2017 21:22:22
#471795
up...
KURTGU 20/02/2017 09:02:58
#471811
Ao tentar testar o webservice rodando no servido de teste fora da rede não consigo acessar sempre me retornar o erro. Ja modifiquei segundo o que achei na net o web config mais continua da mesma forma..

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>
Página 4 de 5 [49 registro(s)]
Tópico encerrado , respostas não são mais permitidas