Ir para conteúdo

POWERED BY:

Arquivado

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

Uplink

Erro de sintaxe

Recommended Posts

pessoal quando vou adicionar um texto que contenha " ' " num banco de dados pela página em asp da o seguinte erro:Microsoft OLE DB Provider for ODBC Drivers erro '80040e14' [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta me ajudem ai pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso ocorre quando você tenta gravar uma váriavel que contén o caracter ', o ideal é tratar a variavel antes de gravar e substituir a aspas simples por 2 aspas simples ex.:variavel=Replace(variavel,"'","''")

Compartilhar este post


Link para o post
Compartilhar em outros sites

<% AbreConexaoacao = request.querystring("acao")select case acaocase "addfile" %><% If Request.form("enviado") = "sim" ThenSql = "INSERT INTO detonado (titulo, detonado) "Sql = Sql & "VALUES('" & Request.Form("titulo") & "','" & Request.Form("comentario") & "')" Conexao.Execute(Sql)%>expliquem melhor comentando pois comecei a mexer com asp faz 2 semanas

Compartilhar este post


Link para o post
Compartilhar em outros sites

<% If Request.form("enviado") = "sim" ThenSql = "INSERT INTO detonado (titulo, detonado) "Sql = Sql & "VALUES('" & Request.Form("titulo") & "','" & Request.Form("comentario") & "')" Conexao.Execute(Sql)%>

Seguinte você ta recuperando os campos titulo e comentário do formulário certo!?!?!!?antes de fazer o INSERT grava essas informações em uma váriavel, para ficar uma coisa mas clara.assim ok?!!!!var_titulo = Request.Form("titulo") var_comentario = Request.Form("comentario")ai depois só você seguir com o insertSql = Sql & "VALUES('" & var_titulo & "','" & var_comentario & "')" bjsssOBS MAS O SEU PROBLEMA TAVA SENDO O SEGUINTE:QUANDO você DA O REQUEST.FORM("TITULO") você ESTA DENTRO DE UMA STRING E AS ASPAS QUE você USOU AI NO REQUEST.FORM FAZIAM A SINTAXE DA INSTRUÇÃO SQL DAR ERRADO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

infelizmente não deu certo... será que vocês entenderam bem a pergunta??? o que eu quero dizer é que eu fiz um formulario para gravar em um banco de dados, ele esta funcionando normal mas quando o conteúdo do formulario tenha esse caractere ' ele da erro!!!! por exemplo : vou adicionar a palavra CAN'T ele na erro, devido ao ', obrigado pela atenção pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você não se esforçou pois eu já havia postado a solução mas vou coloca-la em seu código

<% AbreConexaoacao = request.querystring("acao")select case acaocase "addfile" %><% If Request.form("enviado") = "sim" ThenSql = "INSERT INTO detonado (titulo, detonado) "Sql = Sql & "VALUES('"&Replace(Request.Form("titulo"),"'","''") &"','" &Replace(Request.Form("comentario"),"'","''"&"')" Conexao.Execute(Sql)%>

Comentando o comando Replace substitui um determinado caracter por outro, como no seu caso a aspas simples dentro da variavel do formulário atrapalha a integridade da instrução SQL, então a substitua por 2 aspas simples e já resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu amigo eu colei o código que você corrigiu mas esta aparecendo um erro, o erro é o seguinte:Erro de compilação do Microsoft VBScript erro '800a03ee' ')' esperado /WebTotal.Net/Forum/webtotal/adm_detonado.asp, line 21 Sql = Sql & "VALUES('"&Replace(Request.Form("titulo"),"'","''") &"','" &Replace(Request.Form("detonado"),"'","''"& "')"-----------------------------------------------------------------------------------------------------------------------^desculpe mas sou novato em asp, estou começando aprender agora faz 2 semanas... voc~e poderia me indicar alhuma apostila, ou um método para ficar crack em asp???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mude a linha faltou realmente ")"Sql = Sql & "VALUES('"&Replace(Request.Form("titulo"),"'","''") &"','" &Replace(Request.Form("detonado"),"'","''")& "')"eu aconselho o livro ASP Guia do Programador da Market Books Brasil, autor Greg Buczek ele me ajudou muito

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal e como se resolve isto neste caso:<% Sql = "UPDATE detonado SET titulo = '" & Request.Form("titulo") & "',detonado = '" & Request.Form("detonado") & "' WHERE id = " & Request.Form("id") & " "Conexao.Execute(Sql) %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo e isto vai gravar entao no banco assim:''titulo''e quando eu for dar o response.write do titulo como ele apareçer???ele vai apareçer assim 'titulo', ou assim ''titulo''??eu queria q ele apareçe assim 'titulo'

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.