Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FabianoSouza

Erro em insert

Recommended Posts

O que há de errado neste insert?

 

strSQL = ""
strSQL = strSQL &"INSERT INTO USUARIOS "
strSQL = strSQL &"(UsuariosCodConta, UsuariosCodPerfil, UsuariosLogin, UsuariosSenha)"
strSQL = strSQL &"(UsuariosSt, UsuariosUCad, UsuariosDtCad, UsuariosIpCad)"
strSQL = strSQL &" VALUES "
strSQL = strSQL &"('"&varCodConta&"','"&varCodPerfil&"', '"&varLogin&"', '"&varSenha&"') "
strSQL = strSQL &"('"&varSt&"', '"&varCodUsuario&"', getDate(), '"&varIP&"') "
Set objExec = MM_conexao_STRING.Execute(strSQL)

 

Exibe o erro " [Microsoft]

[sql Server]Sintaxe incorreta próxima a 'UsuariosSt'. "

Compartilhar este post


Link para o post
Compartilhar em outros sites

depois de UsuariosSenha coloque uma virgula

 

UsuariosSenha,

 

strSQL = ""
strSQL = strSQL &"INSERT INTO USUARIOS "
strSQL = strSQL &"(UsuariosCodConta, UsuariosCodPerfil, UsuariosLogin, UsuariosSenha,)"
strSQL = strSQL &"(UsuariosSt, UsuariosUCad, UsuariosDtCad, UsuariosIpCad)"
strSQL = strSQL &" VALUES "
strSQL = strSQL &"('"&varCodConta&"','"&varCodPerfil&"', '"&varLogin&"', '"&varSenha&"') "
strSQL = strSQL &"('"&varSt&"', '"&varCodUsuario&"', getDate(), '"&varIP&"') "
Set objExec = MM_conexao_STRING.Execute(strSQL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá xanburzum. Fiz o que sugeriu. Agora exibe o erro

 

[Microsoft]

[sql Server]Sintaxe incorreta próxima a ')'.

Até "enxuguei" o código para identificar mais facilmente o erro e afastar problemas com valores das variáveis.

[code]
Dim strSQL, objExec
strSQL = ""
strSQL = strSQL &"INSERT INTO USUARIOS "
strSQL = strSQL &"(UsuariosSenha,)"
strSQL = strSQL &"(UsuariosIpCad)"
strSQL = strSQL &" VALUES "
strSQL = strSQL &"('"&varSenha&"') "
strSQL = strSQL &"('"&varIP&"') "
Set objExec = MM_conexao_STRING.Execute(strSQL)

[/code]

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca tudo em uma linha, pois sua SQL é pequena

 

strSQL="INSERT INTO USUARIOS(UsuariosSenha,UsuariosIpCad)VALUES ('"&varSenha&"','"&varIP&"')"

 

e execute-a

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah...encontrei uma maneira de resolver (não sei se é a correta).

Removi alguns parênteses. As alterações estão comentadas no código.

 

Ficou assim.

 

strSQL = ""
strSQL = strSQL &"INSERT INTO USUARIOS "

'removi o parêntese que finalizava esta linha e coloquei a virgula que sugeriu
strSQL = strSQL &"(UsuariosCodConta, UsuariosCodPerfil, UsuariosLogin, UsuariosSenha,"

'removi o parêntese que iniciava esta linha
strSQL = strSQL &" UsuariosSt, UsuariosUCad, UsuariosDtCad, UsuariosIpCad)"



'na parte dos valores fiz o mesmo procedimento
strSQL = strSQL &" VALUES "
strSQL = strSQL &"('"&varCodConta&"','"&varCodPerfil&"', '"&varLogin&"', '"&varSenha&"', "
strSQL = strSQL &" '"&varSt&"', '"&varCodUsuario&"', getDate(), '"&varIP&"') "
Set objExec = MM_conexao_STRING.Execute(strSQL)

 

 

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

para uma string SQL pequena, você pode deixr tudo na mesma linha, isso evita erros simples de sintaxe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.