public void closeConn(){
if(conn!=null)
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//关闭PreparedStatement
public void closePstmt(){
if(ps!=null)
try { System.out.println("22222222222222222222222");
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//关闭ResultSet
public void closeRs(){
if(rs!=null)
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//完全释放数据库资源
public void closeAll(){
this.closeRs();
this.closePstmt();
this.closeConn();
} ===========================问题==================在closePstmt()中为什么没执行System.out.println("22222222222222222222222");
也就是说:ps==null的,但是closeAll(){ this.closePstmt(); 改成closeAll(){ this.closePstmt(this.ps);
又无法编译。。我先问的是,就目前这样。
数据库资源是否已经释放呢。
if(conn!=null)
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//关闭PreparedStatement
public void closePstmt(){
if(ps!=null)
try { System.out.println("22222222222222222222222");
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//关闭ResultSet
public void closeRs(){
if(rs!=null)
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//完全释放数据库资源
public void closeAll(){
this.closeRs();
this.closePstmt();
this.closeConn();
} ===========================问题==================在closePstmt()中为什么没执行System.out.println("22222222222222222222222");
也就是说:ps==null的,但是closeAll(){ this.closePstmt(); 改成closeAll(){ this.closePstmt(this.ps);
又无法编译。。我先问的是,就目前这样。
数据库资源是否已经释放呢。
try {
if(rs != null) {
rs.close();
}
} catch (Exception) {
//ignore
} finally {
try {
if(stmt != null) {
stmt.close();
}
} catch (Exception e) {
//ignore
} finally {
if(conn != null) {
conn.close();
}
}
}
}
public void closeConn(){
try {
if(conn!=null) {//建议楼主把代码这样改改,看起来舒服
conn.close();
conn = null;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//关闭PreparedStatement
public void closePstmt(){
try {
if(ps!=null) {//同上
System.out.println("22222222222222222222222");
ps.close();
ps =null;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//关闭ResultSet
public void closeRs(){
try {
if(rs!=null) {//同上
rs.close();
rs = null;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//完全释放数据库资源
public void closeAll(){
this.closeRs();
this.closePstmt();
this.closeConn();
} 估计楼主的代码在某个位置出了问题,不然的话,不会这样的!没有代码,具体也说不清楚!楼主请仔细检查ps出现的地方,是否是程序出现了问题,或者执行了ps=null等等!