java.sql.*中的问题我想把ResultSet抽出来作为一个类!简化数据库操作!可是怎么关闭??Statement;ResultSet!一般情况下数据库jdbc要
Connection con = null;
ResultSet rs = null;
Statement st = null;
访问结束了!

st.close();
rs.close();
con.close();
可是关闭不成功!有错误!怎么办??
代码如下:(共有两个文件,已经测试!)文件1
conn.javaimport java.sql.*;
import java.util.*;
import java.net.*;
import java.io.*;
public class conn {

  public static void main(String args[]) {  
    System.out.println("hello");
  }
  
  Connection con = null;
  ResultSet rs = null;
  Statement st = null;
  public ResultSet classRs ()throws Exception{
  
  
Class.forName("com.mysql.jdbc.Driver");
System.out.println("OK");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=1234");
st=con.createStatement();
ResultSet rs=st.executeQuery("select * from test");
return rs;  }
  public void classRsClose()throws Exception{  
   rs.close();
   st.close();
   con.close();
  }
  
}
文件2testjdbc.javaimport java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.sql.*;
//请在test数据库中建立表test(字段为id和test)
public class testjdbc{

public static void main(String[] args){
System.out.println("ok");
try{

conn thisRs = new conn();
ResultSet thers=thisRs.classRs();
thers.next();
System.out.println("test:" +thers.getString("sn"));//请在test数据库中建立表test(字段为id和test)
System.out.println("output ok" );
thisRs.classRsClose();
System.out.println("close ok");
}
catch(Exception e){
System.out.println("sth. is wrong");

}


}


}

解决方案 »

  1.   

    我的代码下载在
     、
    http://my.6cncn.cn上的顶直blog!谢谢大家!
      

  2.   

    关闭 con 就可以了吧。
      

  3.   

    你的 conn.java 代码有点小问题:Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=1234");改成:con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=1234");
      

  4.   

    还有:ResultSet rs=st.executeQuery("select * from test");
    改成:
    rs=st.executeQuery("select * from test");
      

  5.   

    不需要st.close()
    关闭rs,con就行