0
The "Insert" and "delete" forms are interacting with the Mysql database table data. Except The record-manager form that has the function of "Change" record:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br">
<%
'Dados para a conexão com o banco de dados
driver = "{MySQL ODBC 3.51 Driver}" ' Driver para conexão ODBC
servidor = "localhost" ' Nome DNS ou do seu servido HTTP
usuario = "root" ' Nome de usuário para acesso ao MySQL
senha = "admin" ' Senha de acesso
banco = "integracao" ' Nome do banco de dados
'Cria um objeto de conexão com banco de dados
Set cnnDB = Server.CreateObject("ADODB.Connection")
'Cria a string de conexão
connStr = "driver=" + driver + "; uid=" + usuario + "; "
connStr = connStr + "pwd=" + senha + "; database=" + banco
'Seta a string de conexão, e realiza a conexão
cnnDB.ConnectionString = connStr
cnnDB.Open
'Caso ocorra um erro, prossiga até o tratamento de erro
On error resume next
'Verifica se o arquivo foi chamado a partir de um formulário
If Request.QueryString("acao") = "adicionar" then
sql = " INSERT INTO LIVROS (LIVRO, AUTOR, EDITORA) VALUES ( "
sql = sql & "'" & Request.Form("FormNomeLivro") & "', "
sql = sql & "'" & Request.Form("FormNomeAutor") & "', "
sql = sql & "'" & Request.Form("FormNomeEditora") & "' "
sql = sql & ")"
'Executa a expressão SQL no servidor
cnnDB.Execute sql
'Verifica o sucesso da operação, baseada ma variável 'err'
If err.number = 0 then
Response.Write("Operação realizada com sucesso")
Else
Response.Write("Erro: " + err.description)
End if
'Executa a alteração do registro, se solicitada
Elseif Request.QueryString("acao") = "editar" then
sql = "UPDATE LIVROS SET "
sql = sql & "LIVRO = '" & Request.Form("FormNomeLivro") & "', "
sql = sql & "AUTOR = '" & Request.Form("FormNomeAutor") & "', "
sql = sql & "EDITORA = '" & Request.Form("FormNomeEditora") & "' "
sql = sql & "WHERE ID = " & Request.Form("FormCodigoLivro")
'Executa a expressão SQL no servidor
cnnDB.Execute sql
'Response.Write "Query = " & sql
' Verifica o sucesso da operação, baseada na variável 'err'
If err.number = 0 then
Response.Write("Operação realizada com sucesso")
Else
Response.Write("Erro: " + err.description)
End if
' Execute a exclusão do registro, se solicitada
Elseif Request.QueryString("acao") = "excluir" then
sql = " DELETE FROM LIVROS WHERE ID = "
sql = sql & Request.QueryString("buscacodigo")
' Ececuta a expressão SQL no servidor
cnnDB.Execute sql
'Verifica o sucesso da operação, baseada na variável 'err'
If err.number = 0 then
Response.Write("Operação realizada com sucesso")
Else
Response.Write("Erro: " + err.description)
End if
End if
%>
<br /><a href="inserir.asp">Clique aqui para inserir um novo registro.</a>
<br /><a href="lista.asp">Clique aqui para visualizar os registros.</a>
</body>
</html>
Executing a change in a record shows.
Error: [Mysql][ODBC 3.51 Driver][mysqld-5.7.13-log]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 '' at line 1
Apparently the query is correct, you have how to check the value of
Request.Form("FormCodigoLivro")
? That must be the problem.– Jéf Bueno
You could uncomment the line
'Response.Write "Query = " & sql
and let us know what appears?– Jeferson Almeida
Check the values coming from the form, mainly the
Request.Form("FormCodigoLivro")
because if it is empty Oce ends up having a query like this:UPDATE LIVROS SET ..... WHERE ID =
leading to this syntax error.– Neuber Oliveira
The Neuber comment should solve this problem. A system of validation of the submitted data should be applied...
– user66555