Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com problemas para fazer UPDATE, não sei o que é.
Será que alguém pode me ajudar
Tô usando banco MySQL
Dá esse erro:
Tipo de erro:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE cod_pedido = 12' at line 1
/supermercado/finaliza_envia.asp, line 25
Segue o código:
<!--#include file="connection/bib_conexao.asp"--><%Dim Conexao, rsUpdate, sqlUpdate, varDTAPedido, varOBS, varFechado, varTotalGeral, varPagamentovarOBS = Request.Form("obs")varDTAPedido = Request.Form("data_pedido")varFechado = Request.Form("fechado")varTotalGeral = Request.Form("total_geral")varPagamento = Request.Form("pagamento")sqlUpdate = "UPDATE Pedidos SET "sqlUpdate = sqlUpdate & "OBS = '" & varOBS & "', "sqlUpdate = sqlUpdate & "DTA_Pedido = '" & varDTAPedido & "', "sqlUpdate = sqlUpdate & "Fechado = '" & varFechado & "', "sqlUpdate = sqlUpdate & "Total_geral = '" & varTotalGeral & "', "sqlUpdate = sqlUpdate & "Pagamento = '" & varPagamento & "', "sqlUpdate = sqlUpdate & "WHERE cod_pedido = " & Session("CodPed")'abre conexãoCall abre_conexaoSet rsUpdate = Conexao.Execute(sqlUpdate) ' line 25Call fecha_conexaoSet rsUpdate = NothingResponse.Redirect("finaliza_sucesso.asp")%>
Obrigado pela ajuda, deu certo agora. Nem me toquei com o lance da vírgula.Não sabia que dava pra debuar esse erro SQL.call response.write(sqlUpdate)que parte do código eu colocaria essa linha?
Olá
coloque esta linha logo depois de atribuir o valor a sua variável sqlUpdate .
e ainda depois deste comando utilize o comando
call response.end()para terminar a execução do script e monstrar o resultado sem chegar na parte do erro:)
então...
sqlUpdate = "UPDATE Pedidos SET "sqlUpdate = sqlUpdate & "OBS = '" & varOBS & "', "sqlUpdate = sqlUpdate & "DTA_Pedido = '" & varDTAPedido & "', "sqlUpdate = sqlUpdate & "Fechado = '" & varFechado & "', "sqlUpdate = sqlUpdate & "Total_geral = '" & varTotalGeral & "', "sqlUpdate = sqlUpdate & "Pagamento = '" & varPagamento & "', "sqlUpdate = sqlUpdate & "WHERE cod_pedido = " & Session("CodPed")call response.write(sqlUpdate)call response.end()
Opa, se liga..
sqlUpdate = sqlUpdate & "Pagamento = '" & varPagamento & "', "sqlUpdate = sqlUpdate & "WHERE cod_pedido = " & Session("CodPed")
na linha acima do "where" você está finalizando com uma vírgula...
pra debugar este tipo de problema escreva a sql montada na tela e veja como ficou sua query.
call response.write(sqlUpdate)