错误提示点:
PreparedStatement stm=con.createStatement("insert into EmailTb values
^
这个错误提示我怎么也找不出错误在哪儿?
PreparedStatement stm=con.createStatement("insert into EmailTb values
^
这个错误提示我怎么也找不出错误在哪儿?
解决方案 »
- jsp创建数据库,MYSQL,TOMCAT一些问题
- 怎么理解Get是用来从服务器上获得数据
- sysbase用jdbc取结果集时诡异的问题(数据库那边没人搭理- -!)
- 请问如何在网页中嵌入RealPlayer播放器来播放rm文件.
- 关于showModalDialog传元素对象的问题。
- 求助SQL和JAVA高手!急!
- JSP学到这样子,接下来要怎么办?
- 现有一个jsp视频点播网站,怎么跟流媒体服务器连接使用?
- 问个关于https协议加密传输的问题。
- jsp+mysql用的的resin服务器,运行一段时间,网站访问速度就很慢了,一般会是什么原因引起的呢?
- Usb key数字身份认证是什么东西?
- 我昨天Apache能用,今天为什么就不能用了呢?
stm.executeQuery();
不能这么写的,应该如下写:
PreparedStatement stm=con.createStatement();stm.executeUpdate("insert into EmailTb values('"+name+"','"+email+"','"+title+"','"+content+"')");
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
stmt = con.createStatement();
id = stmt.executeUpdate(sql);报的错可能是你的变量的问题,变量是不允许为null的
PreparedStatement stm=con.PreparedStatement("insert into EmailTb values
这样就OK了
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
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
stm.setString(2,email);
stm.setString(3,title);
stm.setString(4,content);
stm.executeUpdate();stm.setString(1,name);
name 是什么类型,就set什么,前面的数字表示是第几个问号
stm.executeQuery();这句话是执行查询操作的,改成stm.executeUpdate();
preparedStatement
prepareStatement 还有 preparedStatement 都抱一样的错误,我真有点纳闷!
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:多找例子,书上的那点东西是不够用的