>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Problema no banco de dadosYou 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


Erro ao Atualizar Chamado

Código do Editar chamado:




import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class EditarChamadoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

PrintWriter out = response.getWriter();

try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/chamados", "root", "401234");

String SQL = "SELECT * FROM chamados WHERE id = ?";

PreparedStatement pstm = conn.prepareStatement(SQL);
pstm.setInt(1, Integer.parseInt(request.getParameter("id")));

ResultSet rs = pstm.executeQuery();

if(rs.next()){
out.println("");
out.println("");
out.println("Editar Chamado");
out.println("");
out.println("");
out.println("

Preencha as informações do chamado

");
out.println("
");
out.println("
");
out.println("ID do Chamado:
");
out.println("
");
out.println("Título:
");
out.println("
");
out.println("Conteúdo:
");
out.println("
");
out.println("");
out.println("
");
out.println("
");
out.println("Listar Chamados");
out.println("
");
out.println("Sair");
out.println("");
out.println("");
} else {
out.println("Este chamado não existe!");
}

pstm.close();
conn.close();

} catch (SQLException e) {
out.println("Problema no banco de dados" + e.getMessage());
} catch (ClassNotFoundException ex) {
out.println("Problema ao carregar o drive de conexão!");
}
}

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

PrintWriter out = response.getWriter();

int id = Integer.parseInt(request.getParameter("id"));
String titulo = request.getParameter("txtTitulo");
String conteudo = request.getParameter("txtConteudo");

if (titulo.trim().length() < 4){
out.println("Preencha o campo título");
} else if (conteudo.trim().length() < 4){
out.println("Preencha o campo conteúdo");
} else {
try{
Class.forName("com.mysql.jdbc.Driver");

String SQL = "UPDATE chamados SET titulo = ?, conteudo = ? WHERE id = ?)";

try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/chamados", "root", "401234");

PreparedStatement pstm = conn.prepareStatement(SQL);
pstm.setString(1, titulo);
pstm.setString(2, conteudo);
pstm.setInt(3, id);

pstm.execute();

pstm.close();

conn.close();

response.sendRedirect("http://localhost:8080/Chamados/ListarChamadosServlet");

} catch (SQLException e) {
out.println("Problema no banco de dados" + e.getMessage());
}

} catch(ClassNotFoundException ex) {
out.println("Problema ao carregar o drive de conexão!");
}
}
}

}



3 Respostas


Ola Thiago....

qual o erro gerado??




Bom dia André o erro é o seguinte:

Problema no banco de dadosYou 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




Localizei o erro falha minha:

String SQL = "UPDATE chamados SET titulo = ?, conteudo = ? WHERE id = ?)";

esse -> ) não existe.

o Certo será:


String SQL = "UPDATE chamados SET titulo = ?, conteudo = ? WHERE id = ?";