>
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("
");
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!");
}
}
}
}
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 = ?";