java.lang.NullPointerException的问题

jingtangfang 2009-11-10 10:49:57
这是JDBConnection.java代码
package com.wy.tool;

import java.sql.*;

public class JDBConnection {
private final String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_BlodMay";
private final String userName = "sa";
private final String password = "";
private Connection con = null;
//通过构造方法加载数据库驱动
static {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
} catch (Exception ex) {
System.out.println("数据库加载失败");
}
}
//创建数据库连接
public boolean creatConnection() {
try {
con = DriverManager.getConnection(url, userName, password);
con.setAutoCommit(true);

} catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("creatConnectionError!");
}
return true;
}
//对数据库的增加、修改和删除的操作
public boolean executeUpdate(String sql) {
if (con == null) {
creatConnection();
}
try {
Statement stmt = con.createStatement();
int iCount = stmt.executeUpdate(sql);
System.out.println("操作成功,所影响的记录数为" + String.valueOf(iCount));
return true;
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
}
//对数据库的查询操作
public ResultSet executeQuery(String sql) {
ResultSet rs;

try {
if (con == null) {
creatConnection();
}
Statement stmt = con.createStatement();
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
}
} catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("executeQueryError!");
return null;
}
return rs;
}


}
-------------------------------------------------------------------------------------------------------
下面是出错的情况
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
com.wy.tool.JDBConnection.executeQuery(JDBConnection.java:52) com.wy.dao.ConsumerDao.getConsumerForm(ConsumerDao.java:98)
com.wy.webiter.ConsumerServlet.checkConsumer(ConsumerServlet.java:169)
com.wy.webiter.ConsumerServlet.doGet(ConsumerServlet.java:16)
com.wy.webiter.ConsumerServlet.doPost(ConsumerServlet.java:186)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.

先讲下红的重点的吧
...全文
109 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zl3450341 2009-11-10
  • 打赏
  • 举报
回复
java.lang.NullPointerException
空指针错误

怎么贴了这么多方法上来了
增删改查哪个方法错误就贴哪个方法
你贴这么多我们怎么找
wifewifewife 2009-11-10
  • 打赏
  • 举报
回复
1.你没有把Connection关闭。建议加上finally{con.close()}
2.

com.wy.dao.ConsumerDao.getConsumerForm(ConsumerDao.java:98)

设置断点看一下ConsumerDao的第98行,看哪个为空。定位异常。
good luck.
zcl198715 2009-11-10
  • 打赏
  • 举报
回复
若Connection不关闭的话,会很占资源的。
但即使不关,感觉也不会出现什么问题,不过从楼主的代码看来,好像也是由于connection没有关闭引起的。楼主试着加上finally{con.close()},看问题能否解决。
amdgaming 2009-11-10
  • 打赏
  • 举报
回复
错误这么明显,楼主 你这些 数据库操作 连接 都没有关闭,隐患啊

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧