错误提示点:
   PreparedStatement stm=con.createStatement("insert into EmailTb values
                            ^
这个错误提示我怎么也找不出错误在哪儿?

解决方案 »

  1.   

    PreparedStatement stm=con.createStatement("insert into EmailTb values('"+name+"','"+email+"','"+title+"','"+content+"')");
    stm.executeQuery();
    不能这么写的,应该如下写:
    PreparedStatement stm=con.createStatement();stm.executeUpdate("insert into EmailTb values('"+name+"','"+email+"','"+title+"','"+content+"')");
      

  2.   

    楼上的报错如下:
      HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    root cause java.lang.NullPointerException
    org.apache.jsp.content.commit_jsp._jspService(commit_jsp.java:43)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    note The full stack trace of the root cause is available in the Tomcat logs.
    --------------------------------------------------------------------------------Apache Tomcat/5.0.16
      

  3.   

    语法就是如下:
    stmt = con.createStatement();
      id = stmt.executeUpdate(sql);报的错可能是你的变量的问题,变量是不允许为null的
      

  4.   

    PreparedStatement stm=con.createStatement("insert into EmailTb values.....改为
    PreparedStatement stm=con.PreparedStatement("insert into EmailTb values
    这样就OK了
      

  5.   

    我代码改为如下后:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url="jdbc:odbc:wellshd"; 
    Connection con=DriverManager.getConnection(url,"sa",""); 
    PreparedStatement stm=con.preparedStatement("insert into EmailTb values('"+name+"','"+email+"','"+title+"','"+content+"')");
    stm.executeQuery;
    继续抱错如下:
    Generated servlet error:
        [javac] Compiling 1 source fileC:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\content\commit_jsp.java:55: not a statement
    stm.executeQuery;
       ^
    1 error
      

  6.   

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url="jdbc:odbc:wellshd"; 
    Connection con=DriverManager.getConnection(url,"sa",""); 
    PreparedStatement stm=con.preparedStatement("insert into EmailTb values('"+name+"','"+email+"','"+title+"','"+content+"')");
    stm.executeQuery();又抱错如下:
    Generated servlet error:
        [javac] Compiling 1 source fileC:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\content\commit_jsp.java:54: cannot resolve symbol
    symbol  : method PreparedStatement (java.lang.String)
    location: interface java.sql.Connection
    PreparedStatement stm=con.PreparedStatement("insert into EmailTb values...
                             ^
    1 error
      

  7.   

    PreparedStatement stm=con.preparedStatement("insert into EmailTb values(?,?,?,?)");stm.setString(1,name);
    stm.setString(2,email);
    stm.setString(3,title);
    stm.setString(4,content);
    stm.executeUpdate();stm.setString(1,name);
    name 是什么类型,就set什么,前面的数字表示是第几个问号
    stm.executeQuery();这句话是执行查询操作的,改成stm.executeUpdate();
      

  8.   

    PreparedStatement方法  写错了 应为
    preparedStatement
      

  9.   

    这个我都试验过了比如我把它改为:
        prepareStatement     还有     preparedStatement 都抱一样的错误,我真有点纳闷!
      

  10.   

    错误:
    1:con.createStatement只能创建不同的Statement,不能创建PrepareStatement
    2: javadoc中的Connection根本没有preparedStatement这个方法,只有prepareStatement,
    3: 使用PreparedStatement的sql应该这样写:insert into test (col1,col2) values (?,?)
       然后:stm.setString(1,parameter);
    建议:
    1:jsp是为了高效的开发可视化界面而提出的技术,所以jsp应该只包含和显示相关的代码,数据库操作等数据层和业务逻辑层的东东一定要放到servlet或者javabean里边,
    2:多找例子,书上的那点东西是不够用的