public void close(){
if(rs!=null){
rs=null;
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(stat!=null){
stat=null;
try {
stat.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} if(conn!=null){
conn=null;
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
这个方法里多了下面的三行代码,
rs=null;
stat=null;
conn=null;
每次都先付空值,再CLOSE, 肯定要报错的。删掉就没事了,如下:
public void close(){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(stat!=null){
try {
stat.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
如果想付空值的话,如下:
public void close(){
if(rs!=null){
try {
rs.close();
rs=null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(stat!=null){
try {
stat.close();
stat=null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
conn=null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
哥们 没提示多少行 的错误码? 就是空指针错误
是不是 页面的 变量名 不一直 找不到 之类
就是这样直接看 也看不清楚啊
给private Connection conn=null;
private Statement stat=null;
private ResultSet rs=null;
这三个变量,增加get、set方法试一试