CHAMAR STORED PROCEDURE MYSQL
Bom dia,
Criei uma stored procedure no mysql e gostaria de saber como que faço para chama-la no vb6?
Obrigado
Criei uma stored procedure no mysql e gostaria de saber como que faço para chama-la no vb6?
Obrigado
Citação:Alterado a seção..
use call e os parâmetros que você quer passar.
Exemplo
[txt-color=#0000f0]Dim[/txt-color] C [txt-color=#0000f0]As New[/txt-color] ADODB.Connection
[txt-color=#0000f0]If[/txt-color] C.State = 0 [txt-color=#0000f0]Then[/txt-color] Conectar()
C.Execute([txt-color=#e80000][Ô]call Sua_Procedure ([Ô][/txt-color] & Variável1 & [txt-color=#e80000][Ô],[Ô][/txt-color] & Variável2 & [txt-color=#e80000][Ô][/txt-color])
OBS: Se suas variáveis forem do tipo string lá no BD, não esqueça das aspas simples.
Exemplo:
C.Execute([txt-color=#e80000][Ô]call Sua_Procedure ([ô] [Ô][/txt-color] & Variável1 & [txt-color=#e80000][Ô] [ô],[ô] [Ô][/txt-color] & Variável2 & [txt-color=#e80000][Ô] [ô] [Ô][/txt-color])
Abraços.
Exemplo
[txt-color=#0000f0]Dim[/txt-color] C [txt-color=#0000f0]As New[/txt-color] ADODB.Connection
[txt-color=#0000f0]If[/txt-color] C.State = 0 [txt-color=#0000f0]Then[/txt-color] Conectar()
C.Execute([txt-color=#e80000][Ô]call Sua_Procedure ([Ô][/txt-color] & Variável1 & [txt-color=#e80000][Ô],[Ô][/txt-color] & Variável2 & [txt-color=#e80000][Ô][/txt-color])
OBS: Se suas variáveis forem do tipo string lá no BD, não esqueça das aspas simples.
Exemplo:
C.Execute([txt-color=#e80000][Ô]call Sua_Procedure ([ô] [Ô][/txt-color] & Variável1 & [txt-color=#e80000][Ô] [ô],[ô] [Ô][/txt-color] & Variável2 & [txt-color=#e80000][Ô] [ô] [Ô][/txt-color])
Abraços.
Assim, estou começando agora a programar no vb6 e ainda tenho uma dúvida, ai o que vc explicou entendi perfeitamente, ai agora que vem a duvida. o CALL traz os dados da procedure, e eu gostaria de saber como que eu falo para mostrar os resultados nos campos. Ex
Procedure
CNPJ
Resultado
nome_empresa
nome_fantasia
....
Obrigado
Procedure
CNPJ
Resultado
nome_empresa
nome_fantasia
....
Obrigado
VB6 ou VB.NET ? tu criou o topico em VB.NET !
Perdão, era para ser vb6.
Obrigado
Obrigado
Por exemplo, este código eu fiz para o aplicativo de gestão de pessoal aqui da empresa que faz o login
No seu caso, você trocaria RecSet([Ô]nome[Ô]).Value.ToString por RecSet([Ô]nome_empresa[Ô]).value.ToString ou RecSet([Ô]nome_fantasia[Ô]).value.ToString e assim por diante.
Pelo visto sua procedure não tem parâmetros, então você faria
RecSet = C.Execute([Ô]call NomeDoSeuBancoDeDados.NomeDaSuaProcedure[Ô])
OBS: Repare que o nome do meu banco de dados é: dbgestao;
O nome da minha procedure é: preencheListaOperadoresGestor;
O parâmetro que eu to passando é: Gestor
O modo de usar o call é o mesmo para VB6 ou VB.NET, no meu exemplo você só teria de mudar o modo de inserir os dados retornados para dentro do ListBox, aqui chamado: ListOperadores
No seu caso, você trocaria RecSet([Ô]nome[Ô]).Value.ToString por RecSet([Ô]nome_empresa[Ô]).value.ToString ou RecSet([Ô]nome_fantasia[Ô]).value.ToString e assim por diante.
Pelo visto sua procedure não tem parâmetros, então você faria
RecSet = C.Execute([Ô]call NomeDoSeuBancoDeDados.NomeDaSuaProcedure[Ô])
OBS: Repare que o nome do meu banco de dados é: dbgestao;
O nome da minha procedure é: preencheListaOperadoresGestor;
O parâmetro que eu to passando é: Gestor
O modo de usar o call é o mesmo para VB6 ou VB.NET, no meu exemplo você só teria de mudar o modo de inserir os dados retornados para dentro do ListBox, aqui chamado: ListOperadores
Bom, quando criei o tópico não reparei que estava colocando vb.net e na verdade eu teria que ter colocado vb6, e pelo que pude reparar seu código é em vb.net. Estou certo?
Obrigado
Obrigado
Com eu disse o modo de usar o call é parecido, mas aà vai um código em VB6 que também utiliza procedures
Private Sub txtsenha_Change()
Dim C As New ADODB.Connection
Dim r As Recordset
Dim E As Recordset
Dim IP As String
Dim Enome As String
Codigo = txtsenha.Text
If Len(txtsenha.Text) = 4 Then
If ValorErro = 0 Then Conexao
If ValorErro = 0 Then Exit Sub
On Error GoTo Erro
C.Open [Ô]DRIVER={MySQL ODBC 3.51 Driver};user=root;password=senha;server=servidor;option=20499[Ô]
Set r = C.Execute([Ô] call dbgestao.logarhorario ([Ô] & Codigo & [Ô]) [Ô])
Set E = C.Execute([Ô]select nome from dbgestao.tbloperadores where codoperador= [Ô] & Codigo)
Enome = E([Ô]nome[Ô]).Value
If Enome = lblNome.Caption Then
If Not r.EOF Then
codhorario = r([Ô]codhorario[Ô]).Value
nome = Enome
codoperador = r([Ô]codoperador[Ô]).Value
DoEvents
frmControlePonto.Abrir
Unload Me
Else
txtsenha.Text = [Ô][Ô]
End If
Else
MsgBox [Ô]O código inserido não corresponde ao IP da máquina[Ô], vbInformation, [Ô]Controle de ponto[Ô]
txtsenha.Text = [Ô][Ô]
txtsenha.SetFocus
End If
End If
If C.State = adStateOpen Then C.Close
Exit Sub
Erro: MsgBox [Ô]Erro ao tentar acessar o programa.[Ô] & Chr(13) & _
[Ô] Talvez você esteja sem conexão com a internet ou o servidor está fora do ar.[Ô], _
vbExclamation, [Ô]Controle de ponto[Ô]
txtsenha.Text = [Ô][Ô]
txtsenha.SetFocus
End Sub
Private Sub txtsenha_Change()
Dim C As New ADODB.Connection
Dim r As Recordset
Dim E As Recordset
Dim IP As String
Dim Enome As String
Codigo = txtsenha.Text
If Len(txtsenha.Text) = 4 Then
If ValorErro = 0 Then Conexao
If ValorErro = 0 Then Exit Sub
On Error GoTo Erro
C.Open [Ô]DRIVER={MySQL ODBC 3.51 Driver};user=root;password=senha;server=servidor;option=20499[Ô]
Set r = C.Execute([Ô] call dbgestao.logarhorario ([Ô] & Codigo & [Ô]) [Ô])
Set E = C.Execute([Ô]select nome from dbgestao.tbloperadores where codoperador= [Ô] & Codigo)
Enome = E([Ô]nome[Ô]).Value
If Enome = lblNome.Caption Then
If Not r.EOF Then
codhorario = r([Ô]codhorario[Ô]).Value
nome = Enome
codoperador = r([Ô]codoperador[Ô]).Value
DoEvents
frmControlePonto.Abrir
Unload Me
Else
txtsenha.Text = [Ô][Ô]
End If
Else
MsgBox [Ô]O código inserido não corresponde ao IP da máquina[Ô], vbInformation, [Ô]Controle de ponto[Ô]
txtsenha.Text = [Ô][Ô]
txtsenha.SetFocus
End If
End If
If C.State = adStateOpen Then C.Close
Exit Sub
Erro: MsgBox [Ô]Erro ao tentar acessar o programa.[Ô] & Chr(13) & _
[Ô] Talvez você esteja sem conexão com a internet ou o servidor está fora do ar.[Ô], _
vbExclamation, [Ô]Controle de ponto[Ô]
txtsenha.Text = [Ô][Ô]
txtsenha.SetFocus
End Sub
Boa tarde,
Obrigado pela ajuda, mas mesmo assim continuo meio perdido no código, teria alguma coisa mais simplificada ou explicativa, se pudesse tbm gostaria de ver o exemplo de sua SP, para que eu possa dar uma olhada e ver se entendo melhor.
Obrigado
Obrigado pela ajuda, mas mesmo assim continuo meio perdido no código, teria alguma coisa mais simplificada ou explicativa, se pudesse tbm gostaria de ver o exemplo de sua SP, para que eu possa dar uma olhada e ver se entendo melhor.
Obrigado
Tópico encerrado , respostas não são mais permitidas