将数据插入表-jsp错误

将数据插入表-jsp错误,jsp,insert,Jsp,Insert,我需要一些将数据插入数据库的帮助。这是我的ATM机: <%@ page language="java" import="java.sql.*" %> <% String url= "jdbc:mysql://localhost:3306/reclamacoes"; String titulo=request.getParameter("titulo"); String reclamacao=request.getParameter("reclamacao")

我需要一些将数据插入数据库的帮助。这是我的ATM机:

<%@  page  language="java"  import="java.sql.*" %>

    <%
String url=  "jdbc:mysql://localhost:3306/reclamacoes";
String titulo=request.getParameter("titulo"); 
String reclamacao=request.getParameter("reclamacao"); 


  try  {  
        String  insert  = "INSERT  INTO  reclamacoes  (id_utilizador, titulo, reclamacao)" + "VALUES  (?,  ?,  ?,  ?,  ?)";
        Class.forName("com.mysql.jdbc.Driver");  

        Connection con = DriverManager.getConnection(url,  "root",  "root");

        PreparedStatement ps =  con.prepareStatement(insert);  
        ps.setString(1,  session.getAttribute("id"));  
        ps.setString(2,  titulo);  
        ps.setString(3,  reclamacao);
        ps.executeUpdate();
        con.close();  
  }catch  (ExcepLon  ex)  {
        out.println ("ERRO:  Insert"); 
  }

这给了我一个错误:

org.apache.jasper.jaspereException:无法为JSP编译类:

jsp文件的第15行出现错误: /recurso/grava_reclamacao.jsp在 类型PreparedStatement不适用于参数(int, 对象)12:连接con= getConnection(url,“根”,“根”);13:14:
编制的报表ps=合同编制报表(插入);15:
ps.setString(1,session.getAttribute(“id”);16:
ps.setString(2,titulo);17:ps.setString(3, 雷克拉玛曹);18:ps.executeUpdate()

jsp文件的第20行出现错误: /无法将recurso/grava_reclamacao.jsp ExcepLon解析为类型 17:ps.setString(3,reclamacao);18:
ps.executeUpdate();19:con.close();20:}捕获 (例外情况除外){21:out.println(“ERRO:Insert”);22: }23:%>

堆栈跟踪: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:476) org.apache.jasper.compiler.compiler.compile(compiler.java:378) org.apache.jasper.compiler.compiler.compile(compiler.java:353) org.apache.jasper.compiler.compiler.compile(compiler.java:340) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javaservlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

我在连接线上找不到错误,我觉得没问题。除了jdbc驱动程序,我还需要其他包吗

谢谢大家第一个错误:

类型PreparedStatement中的方法setString(int,String)不适用于参数(int,Object)

您需要对从会话中提取的内容进行类型转换,因为默认情况下,它将显示为对象:

ps.setString(1,  (String)session.getAttribute("id"));  
第二个错误:

ExcepLon无法解析为类型

在catch块中,您将
Exception
拼错为“ExcepLon”

试试这个

<%@  page  language="java"  import="java.sql.*" %>
<%
String url=  "jdbc:mysql://localhost:3306/reclamacoes";
String titulo=request.getParameter("titulo"); 
String reclamacao=request.getParameter("reclamacao");

try{
    String  insert  = "INSERT  INTO "
                    + " reclamacoes(id_utilizador, titulo, reclamacao) "
                    + "VALUES(?, ?, ?)";
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection(url,  "root",  "root");
    PreparedStatement ps =  con.prepareStatement(insert);
    String id = (String) session.getAttribute("id");
    ps.setString(1, id );
    ps.setString(2, titulo);
    ps.setString(3, reclamacao);
    ps.executeUpdate();
}
catch(Exception ex){
   out.print(ex);
}


这里的
ExcepLon
是什么?它是您的自定义类吗?如果是,则在JSP中导入它;如果不是,则将其更改为
异常
。再次查看日志
jsp文件中的第20行出现错误:
以及第20行的内容
catch(ExcepLon ex)
插入
中,您将值插入到3列中,但仍然指定了5个值
值(?,,,,,,,?)
。这导致了错误嘿!这很有效,非常感谢:p整数我找不到那个错误。。。但我发现了例外:)谢谢