为什么使用preparedStatement就使用异常

[复制链接]
查看11 | 回复5 | 2009-4-18 22:47:43 | 显示全部楼层 |阅读模式
exception
javax.servlet.ServletException: ??????
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.usersLogin_005fdo_jsp._jspService(usersLogin_005fdo_jsp.java:54)
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)
root cause
java.lang.Exception: ??????
dzzw.hpj.dao.impl.UsersDaoImpl.delete(UsersDaoImpl.java:140)
org.apache.jsp.usersLogin_005fdo_jsp._jspService(usersLogin_005fdo_jsp.java:47)
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)
我调用的是delete函数咯 没传入中文这是我的代码


还有我UsersDaoImpl中的delete方法
--------------------------------------------
public void delete(String countId) throws Exception
{
String sql="DELETE FROMusers WHERE countId=? " ;
ConnectionDB conn=null;
PreparedStatement pstmt=null;
try
{
conn=new ConnectionDB();
pstmt=conn.getConnection().prepareStatement(sql);
pstmt.setString(1,countId);
pstmt.executeUpdate();
pstmt.close();
}
catch (Exception e)
{
throw new Exception("删除出现异常");
}
finally
{
conn.close();
}
}
提示错误是java.lang.NullPointerException
at dzzw.hpj.dao.impl.UsersDaoImpl.delete(UsersDaoImpl.java:134)134行的代码是pstmt=conn.getConnection().prepareStatement(sql);

回复

使用道具 举报

千问 | 2009-4-18 22:47:43 | 显示全部楼层
问题不出现在preparedStatement这里,而是出在你传入的参数问题。建议你将传入参数打印一下,你就可以看出来,至于乱码问题,我想上网搜到的肯定比我说的要详细。谢谢...
回复

使用道具 举报

千问 | 2009-4-18 22:47:43 | 显示全部楼层
我觉得可能是 填入参数类型问题.WHERE countId=?countid是整型吧 pstmt.setInt(1,Integer.praseInt(countId));如果不是,看看部署的应用下面 usersLogin_005fdo_jsp._jspService这个文件的抛错行数,看看是哪句代码的错误....
回复

使用道具 举报

千问 | 2009-4-18 22:47:43 | 显示全部楼层
可以在catch中打印以下异常的具体信息catch (Exception e) { e.printStackTrace();throw new Exception("删除出现异常"); } 看一下控制台的异常信息,处理起来会有头绪...
回复

使用道具 举报

千问 | 2009-4-18 22:47:43 | 显示全部楼层
你的delete 方法抛出了异常,但是在jsp页面没有catch。加个try试试。...
回复

使用道具 举报

千问 | 2009-4-18 22:47:43 | 显示全部楼层
给出的代码有点少...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行