Guest Bizonho Postado Julho 9, 2007 Denunciar Share Postado Julho 9, 2007 Oi pessoal !Desculpe o pedido; mas não sei mais o que alterar nessa linha de intrução: cn.Execute ("insert into estoque(cod,desc,qtd,custo,data)" _& "values('" & strCODI & "','" & strDESCI & "','" & strQTDI & "','" & strCUI & "','" & strDAI & "')")Toda vez que executo da Erro de sintaxe na intrução INSERT INTOA chave primaria do banco é o campo "id" com AutoNumeração. Preciso coloca-lo na linha de intrução ?Por favor me ajudemAgradeço desde já a atenção Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Gesiel -- Postado Julho 9, 2007 Denunciar Share Postado Julho 9, 2007 Vamos lá. Na SQL, assegure-se que:se cod for chave, strCODI não pode ser um valor duplicado.se cod for IDENTITY (auto incremento), este campo não deve constar do INSERT.verifique se o tamanho da STRING strDESCI não é maior que o campo desc.verifique se o tamanho da STRING strDESCI não contém plics (aspas simples)verifique se o tamanho do INTEIRO strQTDI não é maior que o tipo do campo qtd.se o qtd for numeric, verifique se não está esquecendo de retirar os pontos e em seguida substituir a vírgula por ponto. Exemplo: 1.203,10 deve ser 1203.10se a data for smalldatetime ou datetime, strDAI deve estar no formato AAAA-MM-DD. Exemplo: 31/12/2007 deve ser 2007-12-31'trata o plics na string VB6strDESCI = replace(strDESCI, "'", "''")'trata o plics na string VB.NETstrDESCI = strDESCI.replace("'", "''")'trata o tamanho do string VB 6strDESCI = mid(strDESCI, 1, 30)'trata o tamanho do string VB.NETstrDESCI = strDESCI.substring(1, 30)'trata a falta de informação no campo numéricostrQTDI = cint(strQTDI) etc...cn.Execute ("insert into estoque(cod,desc,qtd,custo,data)" _& "values('" & strCODI & "','" & strDESCI & "','" & strQTDI & "','" & strCUI & "','" & strDAI & "')") Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Bizonho Postado Julho 9, 2007 Denunciar Share Postado Julho 9, 2007 Oi Geisel !Todos os campos estão definidos como texto no access. A chave do db é o campo "id" definido com AutoNumeração.O comando do botão esta definido dessa forma :vai = INCLUIR(Form4.txtCOD.Text, Form4.txtDES.Text, Form4.lblTE.Caption, Form4.txtCU.Text, Form4.txtDA.Text)A função INCLUIR esta assim :Public Function INCLUIR(ByVal strCODI As String, ByVal strDESCI As String, ByVal strQTDI As String, ByVal strCUI As String, ByVal strDAI As String) As Variant 'On Error Resume Nextcn.Execute ("insert into estoque(cod,desc,qtd,custo,data)" _& "values('" & strCODI & "','" & strDESCI & "','" & strQTDI & "','" & strCUI & "','" & strDAI & "')")INCLUIR = TrueMsgBox "Produto cadastrado com sucesso !", vbOKOnly, "Cadastro"BeepForm4.txtCOD.Text = ""Form4.txtDES.Text = ""Form4.txtCU.Text = ""Form4.txtDA.Text = ""End FunctionA string strQDI sempre é incluida com o valor "0" (zero); tentei executar a função com outro valor na strQDI mas mesmo assim o erro de sintaxe persiste. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Bizonho
Oi pessoal !
Desculpe o pedido; mas não sei mais o que alterar nessa linha de intrução:
cn.Execute ("insert into estoque(cod,desc,qtd,custo,data)" _
& "values('" & strCODI & "','" & strDESCI & "','" & strQTDI & "','" & strCUI & "','" & strDAI & "')")
Toda vez que executo da Erro de sintaxe na intrução INSERT INTO
A chave primaria do banco é o campo "id" com AutoNumeração. Preciso coloca-lo na linha de intrução ?
Por favor me ajudem
Agradeço desde já a atenção
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.