CONSULTA MYSQL NO VB6
Estou conectando o mysql no vb6, só que estou com problema na hora de consultar os dados, não sei se existe alguma sintaxe diferente em relação a SQL para o mysql no vb6. Por ex:
Uma simples consulta:
Adodc1.RecordSource = [Ô]select * from cadastro where cod = 2[Ô]
Adodc1.Refresh
Estou utilizando o componente Adodc1, a conexão está ok(grava,edita), o único problema é somente na consulta
está dando erro de sintaxe, segue em anexo a msg, o que poderá ser?
grato!
Uma simples consulta:
Adodc1.RecordSource = [Ô]select * from cadastro where cod = 2[Ô]
Adodc1.Refresh
Estou utilizando o componente Adodc1, a conexão está ok(grava,edita), o único problema é somente na consulta
está dando erro de sintaxe, segue em anexo a msg, o que poderá ser?
grato!
Ricardo,
Não recomendo o uso deste tipo de conexão, pois é muito restrita e geralmente ocorre alguns erros que são dificies de serem compreendidos.
Eu recomendo que vc utilize a conexão ADO de uma outra forma.
Thiago
Não recomendo o uso deste tipo de conexão, pois é muito restrita e geralmente ocorre alguns erros que são dificies de serem compreendidos.
Eu recomendo que vc utilize a conexão ADO de uma outra forma.
Thiago
Qual outra forma?
Utilize a conexão ADO.
Vá em references Microsoft ActiveX Data Objects 2.8 Library.
Para conectar ao banco de dados:
Dim banco As New ADODB.Connection
Banco.Open [Ô]Provider=MSDASQL;Driver={MySQL ODBC 3.51 Driver};Server=SRVKLEAD01;Database=nome_banco;User=root;Password=root;Option=2;[Ô]
Para utilizar uma consulta:
Dim rs As New ADODB.Recordset
rs.Open [Ô]select * from cadastro where cod = 2[Ô], banco, adOpenForwardOnly, adLockReadOnly
Se vc quiser mais informações aqui no site do vbmania esta recheado de informações.
Thiago.
Vá em references Microsoft ActiveX Data Objects 2.8 Library.
Para conectar ao banco de dados:
Dim banco As New ADODB.Connection
Banco.Open [Ô]Provider=MSDASQL;Driver={MySQL ODBC 3.51 Driver};Server=SRVKLEAD01;Database=nome_banco;User=root;Password=root;Option=2;[Ô]
Para utilizar uma consulta:
Dim rs As New ADODB.Recordset
rs.Open [Ô]select * from cadastro where cod = 2[Ô], banco, adOpenForwardOnly, adLockReadOnly
Se vc quiser mais informações aqui no site do vbmania esta recheado de informações.
Thiago.
a conexão está ok.... o problema esta na consulta
Tenta isto colega, coloque o 2 entre aspas simples.
ex:
veja se funciona
ex:
Adodc1.RecordSource = [Ô]select * from cadastro where cod = [ô]2[ô][Ô]
Adodc1.Refresh
veja se funciona
Nada, ta dando erro de sintaxe do mesmo jeito. não acredito que esse componente não faz consulta, ate por que os metodos para inserir e alterar está ok.
é alguma frescura de nada, sabe me dizer outro componente para acesso a o sqlserve e mysql?
é alguma frescura de nada, sabe me dizer outro componente para acesso a o sqlserve e mysql?
Ricardo....faça como o thiago disse...
Use o ADO via codigo....esse nao tem erro....
Por ser um componente encapsulado fica muito dificil saber o que se passa la dentro....
Abraço...
Use o ADO via codigo....esse nao tem erro....
Por ser um componente encapsulado fica muito dificil saber o que se passa la dentro....
Abraço...
Amigo, configura ADO manual.
Eu fiz o teste e deu certo aqui no meu micro, não da para entender é como os amigos falaram não temos controle em coisa que não nos pertence.
Precisa instalar o driver ODBC.
MYSQL CONECTOR ODBC
Abaixo, segue código para conexão manual.
Eu fiz o teste e deu certo aqui no meu micro, não da para entender é como os amigos falaram não temos controle em coisa que não nos pertence.
Precisa instalar o driver ODBC.
MYSQL CONECTOR ODBC
Abaixo, segue código para conexão manual.
Private Declare Function GetPrivateProfileString Lib [Ô]Kernel32[Ô] Alias [Ô]GetPrivateProfileStringA[Ô] (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpRetunedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public SERVIDOR, PORTA, USUARIO, SENHA, BASE As String
Function GetIni(setor As String, chave As String, warq As String) As String
Dim wval As String
Dim rr As Integer
wval = String$(255, 0)
rr = GetPrivateProfileString(setor, chave, [Ô][Ô], wval, Len(wval), warq)
GetIni = [Ô][Ô]
If rr <> 0 Then GetIni = Left(wval, InStr(wval, Chr(0)) - 1)
End Function
Private Sub Conexao_Conectar_Banco()
On Error GoTo Rotina_Erro
SERVIDOR = GetIni([Ô]MySQL_Connect[Ô], [Ô]SERVIDOR[Ô], App.Path & [Ô]\MySQL.ini[Ô])
PORTA = GetIni([Ô]MySQL_Connect[Ô], [Ô]PORTA[Ô], App.Path & [Ô]\MySQL.ini[Ô])
USUARIO = GetIni([Ô]MySQL_Connect[Ô], [Ô]USUARIO[Ô], App.Path & [Ô]\MySQL.ini[Ô])
SENHA = GetIni([Ô]MySQL_Connect[Ô], [Ô]SENHA[Ô], App.Path & [Ô]\MySQL.ini[Ô])
BASE = GetIni([Ô]MySQL_Connect[Ô], [Ô]BASEDEDADOS[Ô], App.Path & [Ô]\MySQL.ini[Ô])
CONN.Open [Ô]Driver={MySQL ODBC 5.1.5 Driver};Server=[Ô] & SERVIDOR & [Ô];Port=[Ô] & PORTA & [Ô];Database=[Ô] & BASE & [Ô];User=[Ô] & USUARIO & [Ô];Password=[Ô] & SENHA & [Ô];Option=3;[Ô]
Exit Sub
Rotina_Erro:
If Err.Number = 3705 Then
End If
If Err.Number = -2147467259 Then
MsgBox [Ô]Banco de Dados não conectado ao servidor![Ô] & vbCrLf & vbCrLf & [Ô]Verifique[Ô] & vbCrLf & _
[Ô]Conexão com a INTERNET[Ô] & vbCrLf & [Ô]Se o SERVIDOR DE DADOS esta ligado.[Ô], vbExclamation, [Ô]Verifique[Ô]
End
End If
End Sub
Cara me custa acreditar que não exista nenhum componente de acesso ao mysql, PQP. Fazer isso na velha mão! é d+.... mais fazer o que....
Obs: odeio delphi mais tenho que admitir os componentes todos atendem muito bem a conexão para qualquer base de dados. Não estou acreditando que não irei encontrar isso no vb
Tópico encerrado , respostas não são mais permitidas