COMANDO GRAVAR EM MYSQL
bom dia a todos!
Estou com um probleminha no vb com mysql espero que me ajudem...
acho que o problema é na instrução insert algum erro de sintaxe nao sei o que pode ser, deem uma olhada ai >>
[Ô]Private Sub Command2_Click()
Dim razao As String
Dim sexo As String
Dim vendedor As String
Dim inscest As String
Dim apelido As String
Dim cgc As String
Dim cep As String
Dim dtnasc As String
Dim endereco As String
Dim numero As String
Dim bairro As String
Dim codcidade As String
Dim cidade As String
Dim codestado As String
Dim estado As String
Dim codpais As String
Dim nomepais As String
Dim contato As String
Dim natural As String
Dim email As String
Dim telefone As String
Dim telefone2 As String
Dim dtcadastro As String
Dim obs As String
razao = [Ô][ô][Ô] & Combo1.Text & [Ô][ô][Ô]
sexo = IIf(Len(combo2.Text) > 0, [Ô][ô][Ô] & combo2.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
vendedor = IIf(Len(combo3.Text) > 0, [Ô][ô][Ô] & combo3.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
inscest = IIf(Len(text3.Text) > 0, [Ô][ô][Ô] & text3.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
apelido = IIf(Len(text6.Text) > 0, [Ô][ô][Ô] & text6.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
cgc = IIf(Len(Text2.Text) > 0, [Ô][ô][Ô] & Text2.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
cep = IIf(Len(masked1.Text) > 0, [Ô][ô][Ô] & masked1.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
dtnasc = IIf(Len(masked5.Text) > 0, [Ô][ô][Ô] & masked5.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
endereco = IIf(Len(text5.Text) > 0, [Ô][ô][Ô] & text5.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
numero = IIf(Len(Text7.Text) > 0, [Ô][ô][Ô] & Text7.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
bairro = IIf(Len(Text8.Text) > 0, [Ô][ô][Ô] & Text8.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
codcidade = IIf(Len(text9.Text) > 0, [Ô][ô][Ô] & text9.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
cidade = IIf(Len(text10.Text) > 0, [Ô][ô][Ô] & text10.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
codestado = IIf(Len(text11.Text) > 0, [Ô][ô][Ô] & text11.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
estado = IIf(Len(text12.Text) > 0, [Ô][ô][Ô] & text12.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
codpais = IIf(Len(text13.Text) > 0, [Ô][ô][Ô] & text13.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
nomepais = IIf(Len(text14.Text) > 0, [Ô][ô][Ô] & text14.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
contato = IIf(Len(text15.Text) > 0, [Ô][ô][Ô] & text15.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
natural = IIf(Len(text16.Text) > 0, [Ô][ô][Ô] & text16.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
email = IIf(Len(text18.Text) > 0, [Ô][ô][Ô] & text18.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
telefone = IIf(Len(text21.Text) > 0, [Ô][ô][Ô] & text21.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
telefone2 = IIf(Len(text22.Text) > 0, [Ô][ô][Ô] & text22.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
dtcadastro = IIf(Len(text23.Text) > 0, [Ô][ô][Ô] & text23.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
obs = IIf(Len(list1.Text) > 0, [Ô][ô][Ô] & list1.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
If Command2.Caption = [Ô]Gravar[Ô] Then
SQL = [Ô]insert into nome (razao,sexo,vendedor,inscest,apelido,cgc,cep,dtnasc,endereco,numero,bairro,codcidade,cidade,codestado,estado,codpais,nomepais,contato,natural,email,telefone,telefone2,dtcadastro,obs) values ([Ô] & razao & [Ô],[Ô] & sexo & [Ô],[Ô] & vendedor & [Ô],[Ô] & inscest & [Ô],[Ô] & apelido & [Ô],[Ô] & cgc & [Ô],[Ô] & cep & [Ô],[Ô] & dtnasc & [Ô],[Ô] & endereco & [Ô],[Ô] & numero & [Ô],[Ô] & bairro & [Ô],[Ô] & codcidade & [Ô],[Ô] & cidade & [Ô],[Ô] & codestado & [Ô],[Ô] & estado & [Ô],[Ô] & codpais & [Ô],[Ô] & nomepais & [Ô],[Ô] & contato & [Ô],[Ô] & natural & [Ô],[Ô] & email & [Ô],[Ô] & telefone & [Ô],[Ô] & telefone2 & [Ô],[Ô] & dtcadastro & [Ô],[Ô] & obs & [Ô])[Ô]
Else
SQL = [Ô]update codigo set [Ô]
SQL = SQL & [Ô]codigo = [Ô] & codigo
SQL = SQL & [Ô] ,endereco = [Ô] & endereco
SQL = SQL & [Ô] ,bairro = [Ô] & bairro
SQL = SQL & [Ô] ,cidade = [Ô] & cidade
SQL = SQL & [Ô] ,estado = [Ô] & estado
SQL = SQL & [Ô] where codigo = [Ô] & Registro
End If
Set rs = gConexao.Execute(SQL)
Set rs = Nothing
Call limpacampos
End Sub[Ô]
quando ele passa pelo [Ô] Set rs = gConexao.Execute(SQL) [Ô] me retorna a seguinte mensagem de erro:
[Ô] run-time error [ô]-2147217900(80040e14)[ô]:
[mysql][odbc 3.51 driver][mysqld-5.0.27-community-log] Você tem
um erro de sintaxe no seu sql próximo a
[ô]natural,email,telefone,telefone2,dtcadastro,obs) values ( [ô]CARMEN
LUCIA DOS SA[ô] na linha 1[Ô]
set rs = gconexao.execute(SQL) = Set gConexao = New ADODB.Connection
gConexao.ConnectionTimeout = 60
gConexao.CommandTimeout = 400
gConexao.CursorLocation = adUseClient
gConexao.Open [Ô]DRIVER={MySQL ODBC 3.51 Driver};[Ô] _
& [Ô]user=[Ô] & txtNomeUsuario _
& [Ô];password=[Ô] & txtPassword _
& [Ô];database=[Ô] & cmbBancoDados _
& [Ô];server=[Ô] & txtHost _
& [Ô];option=[Ô] & (3)
desde já agradeço abraços
Estou com um probleminha no vb com mysql espero que me ajudem...
acho que o problema é na instrução insert algum erro de sintaxe nao sei o que pode ser, deem uma olhada ai >>
[Ô]Private Sub Command2_Click()
Dim razao As String
Dim sexo As String
Dim vendedor As String
Dim inscest As String
Dim apelido As String
Dim cgc As String
Dim cep As String
Dim dtnasc As String
Dim endereco As String
Dim numero As String
Dim bairro As String
Dim codcidade As String
Dim cidade As String
Dim codestado As String
Dim estado As String
Dim codpais As String
Dim nomepais As String
Dim contato As String
Dim natural As String
Dim email As String
Dim telefone As String
Dim telefone2 As String
Dim dtcadastro As String
Dim obs As String
razao = [Ô][ô][Ô] & Combo1.Text & [Ô][ô][Ô]
sexo = IIf(Len(combo2.Text) > 0, [Ô][ô][Ô] & combo2.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
vendedor = IIf(Len(combo3.Text) > 0, [Ô][ô][Ô] & combo3.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
inscest = IIf(Len(text3.Text) > 0, [Ô][ô][Ô] & text3.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
apelido = IIf(Len(text6.Text) > 0, [Ô][ô][Ô] & text6.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
cgc = IIf(Len(Text2.Text) > 0, [Ô][ô][Ô] & Text2.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
cep = IIf(Len(masked1.Text) > 0, [Ô][ô][Ô] & masked1.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
dtnasc = IIf(Len(masked5.Text) > 0, [Ô][ô][Ô] & masked5.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
endereco = IIf(Len(text5.Text) > 0, [Ô][ô][Ô] & text5.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
numero = IIf(Len(Text7.Text) > 0, [Ô][ô][Ô] & Text7.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
bairro = IIf(Len(Text8.Text) > 0, [Ô][ô][Ô] & Text8.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
codcidade = IIf(Len(text9.Text) > 0, [Ô][ô][Ô] & text9.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
cidade = IIf(Len(text10.Text) > 0, [Ô][ô][Ô] & text10.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
codestado = IIf(Len(text11.Text) > 0, [Ô][ô][Ô] & text11.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
estado = IIf(Len(text12.Text) > 0, [Ô][ô][Ô] & text12.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
codpais = IIf(Len(text13.Text) > 0, [Ô][ô][Ô] & text13.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
nomepais = IIf(Len(text14.Text) > 0, [Ô][ô][Ô] & text14.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
contato = IIf(Len(text15.Text) > 0, [Ô][ô][Ô] & text15.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
natural = IIf(Len(text16.Text) > 0, [Ô][ô][Ô] & text16.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
email = IIf(Len(text18.Text) > 0, [Ô][ô][Ô] & text18.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
telefone = IIf(Len(text21.Text) > 0, [Ô][ô][Ô] & text21.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
telefone2 = IIf(Len(text22.Text) > 0, [Ô][ô][Ô] & text22.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
dtcadastro = IIf(Len(text23.Text) > 0, [Ô][ô][Ô] & text23.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
obs = IIf(Len(list1.Text) > 0, [Ô][ô][Ô] & list1.Text & [Ô][ô][Ô], [Ô][ô]*[ô][Ô])
If Command2.Caption = [Ô]Gravar[Ô] Then
SQL = [Ô]insert into nome (razao,sexo,vendedor,inscest,apelido,cgc,cep,dtnasc,endereco,numero,bairro,codcidade,cidade,codestado,estado,codpais,nomepais,contato,natural,email,telefone,telefone2,dtcadastro,obs) values ([Ô] & razao & [Ô],[Ô] & sexo & [Ô],[Ô] & vendedor & [Ô],[Ô] & inscest & [Ô],[Ô] & apelido & [Ô],[Ô] & cgc & [Ô],[Ô] & cep & [Ô],[Ô] & dtnasc & [Ô],[Ô] & endereco & [Ô],[Ô] & numero & [Ô],[Ô] & bairro & [Ô],[Ô] & codcidade & [Ô],[Ô] & cidade & [Ô],[Ô] & codestado & [Ô],[Ô] & estado & [Ô],[Ô] & codpais & [Ô],[Ô] & nomepais & [Ô],[Ô] & contato & [Ô],[Ô] & natural & [Ô],[Ô] & email & [Ô],[Ô] & telefone & [Ô],[Ô] & telefone2 & [Ô],[Ô] & dtcadastro & [Ô],[Ô] & obs & [Ô])[Ô]
Else
SQL = [Ô]update codigo set [Ô]
SQL = SQL & [Ô]codigo = [Ô] & codigo
SQL = SQL & [Ô] ,endereco = [Ô] & endereco
SQL = SQL & [Ô] ,bairro = [Ô] & bairro
SQL = SQL & [Ô] ,cidade = [Ô] & cidade
SQL = SQL & [Ô] ,estado = [Ô] & estado
SQL = SQL & [Ô] where codigo = [Ô] & Registro
End If
Set rs = gConexao.Execute(SQL)
Set rs = Nothing
Call limpacampos
End Sub[Ô]
quando ele passa pelo [Ô] Set rs = gConexao.Execute(SQL) [Ô] me retorna a seguinte mensagem de erro:
[Ô] run-time error [ô]-2147217900(80040e14)[ô]:
[mysql][odbc 3.51 driver][mysqld-5.0.27-community-log] Você tem
um erro de sintaxe no seu sql próximo a
[ô]natural,email,telefone,telefone2,dtcadastro,obs) values ( [ô]CARMEN
LUCIA DOS SA[ô] na linha 1[Ô]
set rs = gconexao.execute(SQL) = Set gConexao = New ADODB.Connection
gConexao.ConnectionTimeout = 60
gConexao.CommandTimeout = 400
gConexao.CursorLocation = adUseClient
gConexao.Open [Ô]DRIVER={MySQL ODBC 3.51 Driver};[Ô] _
& [Ô]user=[Ô] & txtNomeUsuario _
& [Ô];password=[Ô] & txtPassword _
& [Ô];database=[Ô] & cmbBancoDados _
& [Ô];server=[Ô] & txtHost _
& [Ô];option=[Ô] & (3)
desde já agradeço abraços
para mysql todos os campos devem estar entre aspas simples ou apostrofos
exemplo
exemplo
([txt-color=#e80000][ô][/txt-color][Ô] & razao & [Ô][txt-color=#e80000][ô][/txt-color],[txt-color=#e80000][ô][/txt-color][Ô] & sexo & [Ô][txt-color=#e80000][ô][/txt-color],[ô][Ô] .
..
agradeço a cooperação de todos mais ainda nao foi resolvido.... eu usava banco de dados access , to querendo mudar para mysql preciso de algumas instruções por exemplo insert, update e delete que eu estou meio embramado nisso vlw ...
Primeiro se vc usava ADO para se conectar com ACCESS não esta longe de conseguir conectar com MYSQL
Primeiro declare as variáveis em um modulo
Crie a Conexão
Evite criar muitas variáveis, pois elas utilizam memórias para com isso o seu sistema pode deixar o comutador lento
faça o processo direto
Lembrasse que nada empede de criar variáveis para controlar seu sistema somente dei minha opinião.
Lembrando tambem que é importante verificar se os nomes das colunas de sua tabela estão corretos no SQL e faça como
o amigo MARCELO TREZE falou:
No entanto vc esta tratando isso nas variáveis acima tenta tratar no SQL igual cito acima
Qualquer duvida posta ai que iremos te ajudar!!!
Primeiro declare as variáveis em um modulo
Public gConexao as New ADODB.Connection
public rs as New ADODB.RecordSet
Crie a Conexão
Public Sub Conectar()
gConexao.CursorLocation = adUseClient
gConexao.Open [Ô]DRIVER={MySQL ODBC 3.51 Driver};user=[Ô] & txtNomeUsuario & [Ô];password=[Ô] & txtPassword & [Ô];database=[Ô] & cmbBancoDados & [Ô];server=[Ô] & txtHost & [Ô];option=[Ô] & (3)
End Sub
Evite criar muitas variáveis, pois elas utilizam memórias para com isso o seu sistema pode deixar o comutador lento
faça o processo direto
Private Sub Command2_Click()
Dim SQL as String
SQL = [Ô]INSERT INTO nome (razao,sexo,vendedor,inscest,apelido,cgc,cep,dtnasc,endereco,[Ô]
SQL = SQL & [Ô]numero,bairro,codcidade,cidade,codestado,estado,codpais,nomepais,[Ô]
SQL = SQL & [Ô]contato,natural,email,telefone,telefone2,dtcadastro,obs) VALUES ([ô][Ô]
SQL = SQL & Combo1.Text & [Ô][ô],[ô][Ô] & IIf(Len(combo2.Text) > 0, combo2.Text, [Ô]*[Ô]) & [Ô][ô],[ô][Ô]
SQL = SQL & IIf(Len(combo3.Text) > 0, combo3.Text , [Ô]*[Ô]) & [Ô][ô],[ô][Ô] & IIf(Len(text3.Text) > 0, text3.Text, [Ô]*[Ô]) & [Ô][ô],[ô][Ô]
...
rs.Open SQL, gConexao, 2, 3
End Sub
Lembrasse que nada empede de criar variáveis para controlar seu sistema somente dei minha opinião.
Lembrando tambem que é importante verificar se os nomes das colunas de sua tabela estão corretos no SQL e faça como
o amigo MARCELO TREZE falou:
Citação:para mysql todos os campos devem estar entre aspas simples ou apostrofos
exemplo([ô][Ô] & razao & [Ô][ô],[ô][Ô] & sexo & [Ô][ô],[ô][Ô] .
..
No entanto vc esta tratando isso nas variáveis acima tenta tratar no SQL igual cito acima
Qualquer duvida posta ai que iremos te ajudar!!!
com esse topico vc começa facim, facim... trabalhar com mysql.
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=9117
estive analizando e acho que o erro não está na sintaxe e sim no conector ODBC, acredito que esteja usando o MySQL 5.0 e o conector ODBC seja o 3.51, quando deveria ser 5.1
tente isso
tente isso
pessoal consegui, pala minha msmo erro de sintaxe... mais eu abri a conexao e a tabela para gravar deem uma olhada ae ...
Sub pf_grava()
Me.MousePointer = vbHourglass
Set CNN = CreateObject([Ô]ADODB.Connection[Ô])
CNN.ConnectionTimeout = 60
CNN.CommandTimeout = 400
CNN.CursorLocation = adUseClient
CNN.Open [Ô]DRIVER={MySQL ODBC 3.51 Driver};[Ô] _
& [Ô]user=root[Ô] _
& [Ô];password=[Ô] _
& [Ô];database=mysql[Ô] _
& [Ô];server=localhost[Ô] _
& [Ô];option=3[Ô]
Me.MousePointer = vbNormal
Set rs = CreateObject([Ô]ADODB.RecordSet[Ô])
Set rs.ActiveConnection = CNN
rs.Open [Ô]select * from clientes[Ô]
SSQL = [Ô]insert into clientes (razao,sexo,vendedor) values ([ô][Ô] & Combo1.Text & [Ô][ô], [ô][Ô] & combo2.Text & [Ô][ô],[ô][Ô] & combo3.Text & [Ô][ô])[Ô]
CNN.Execute (SSQL)
End Sub
mais uma ves agradeço a atenção pessoal flow!
Sub pf_grava()
Me.MousePointer = vbHourglass
Set CNN = CreateObject([Ô]ADODB.Connection[Ô])
CNN.ConnectionTimeout = 60
CNN.CommandTimeout = 400
CNN.CursorLocation = adUseClient
CNN.Open [Ô]DRIVER={MySQL ODBC 3.51 Driver};[Ô] _
& [Ô]user=root[Ô] _
& [Ô];password=[Ô] _
& [Ô];database=mysql[Ô] _
& [Ô];server=localhost[Ô] _
& [Ô];option=3[Ô]
Me.MousePointer = vbNormal
Set rs = CreateObject([Ô]ADODB.RecordSet[Ô])
Set rs.ActiveConnection = CNN
rs.Open [Ô]select * from clientes[Ô]
SSQL = [Ô]insert into clientes (razao,sexo,vendedor) values ([ô][Ô] & Combo1.Text & [Ô][ô], [ô][Ô] & combo2.Text & [Ô][ô],[ô][Ô] & combo3.Text & [Ô][ô])[Ô]
CNN.Execute (SSQL)
End Sub
mais uma ves agradeço a atenção pessoal flow!
Tópico encerrado , respostas não são mais permitidas