java连数据库出错,帮忙看下

来源:百度知道 编辑:UC知道 时间:2024/07/07 21:35:00
程序如下:
package wgg;
import java.sql.*;
public class showInfor{
public static ResultSet getInfor(){
ResultSet rs=null;
String sql=null;
Statement stmt=null;
Connection conn=null;
String user="sa";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println("ClassNotFound");
}
try{
conn=DriverManager.getConnection("jdbc:odbc:wgg",user,"");
stmt=conn.createStatement();
sql="select * from 学会文件";
rs=stmt.executeQuery(sql);
rs.close();
stmt.close();
}catch(Exception e){System.out.println(e.getMessage());}
try{
if(conn!=null) conn.close();
}
catch(SQLException e)
{
System.out.println("close exception");
}
return rs;
}
public static void main(String args[]){<

你看看这三句
rs=stmt.executeQuery(sql);
rs.close();
stmt.close();

其中的 rs.close(); 已经把rs关闭了,然后你再在方法的最后return rs;
那么得到的rs就是已经关闭了的了。去掉rs.close(); 在使用完rs后再关闭。就是调用后再rs.close();

是因为rs和stmt关闭,建议用JAVABEAN去建立每个对象,用Arraylist封装对象并返回

最后的rs.close();
不应该写吧

rs.close(); 已经关闭了
当然出错了
不要close

ResultSet is closed,运行错误已经说得很清楚了,也就是你的ResultSet 已经被关闭了。如果你没有使用关闭语句,我想是不会出现这个错误的。

将close()语句放入
finaly{....}