在以下代码中(我注释掉的那两行.),
sta.close();
和
rs.close();
为什么会报错呢,(运行时报Socket closed错.)
为什么啊,谢谢啦.
import java.sql.*;
public class TestScroll { public static void main(String[] args) {
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xsgl";
String user = "sa";
String password = "671354";
Connection conn = null;
Statement sta = null;
ResultSet rs = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(url, user, password);
sta = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = sta.executeQuery("select * from stu");
rs.next();
System.out.println(rs.getString(1));
System.out.println(rs.getString(4));
rs.last();
System.out.println(rs.getString(1));
System.out.println(rs.isLast());
System.out.println(rs.getRow());
rs.absolute(13);//回滚;
System.out.println(rs.getString(1));
System.out.println(rs.getInt(5));
rs.absolute(15);
System.out.println(rs.isAfterLast());
rs.absolute(19);
System.out.println(rs.isAfterLast());//true;
} catch(ClassNotFoundException e) {
System.out.println("没有找到驱动类!");
} catch(SQLException e) {
System.out.println("连接数据库错误!");
} finally {
try {
if(conn != null) {
conn.close();
conn = null;
}
if(sta != null) {
//sta.close(); //为什么这里关闭系统资源时错误?
sta = null;
}
if(rs != null) {
//rs.close();
rs = null;
}
} catch(SQLException e) {
e.printStackTrace();
System.out.println("关闭系统资源错误!");
}
}
}}
sta.close();
和
rs.close();
为什么会报错呢,(运行时报Socket closed错.)
为什么啊,谢谢啦.
import java.sql.*;
public class TestScroll { public static void main(String[] args) {
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xsgl";
String user = "sa";
String password = "671354";
Connection conn = null;
Statement sta = null;
ResultSet rs = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(url, user, password);
sta = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = sta.executeQuery("select * from stu");
rs.next();
System.out.println(rs.getString(1));
System.out.println(rs.getString(4));
rs.last();
System.out.println(rs.getString(1));
System.out.println(rs.isLast());
System.out.println(rs.getRow());
rs.absolute(13);//回滚;
System.out.println(rs.getString(1));
System.out.println(rs.getInt(5));
rs.absolute(15);
System.out.println(rs.isAfterLast());
rs.absolute(19);
System.out.println(rs.isAfterLast());//true;
} catch(ClassNotFoundException e) {
System.out.println("没有找到驱动类!");
} catch(SQLException e) {
System.out.println("连接数据库错误!");
} finally {
try {
if(conn != null) {
conn.close();
conn = null;
}
if(sta != null) {
//sta.close(); //为什么这里关闭系统资源时错误?
sta = null;
}
if(rs != null) {
//rs.close();
rs = null;
}
} catch(SQLException e) {
e.printStackTrace();
System.out.println("关闭系统资源错误!");
}
}
}}
解决方案 »
- 关于java的I/O输入输出的两个小问题?
- 100分求SCJP 1.4(310-025,SL-275) 中文题库
- 编写一个简单程序(代码越简练越好)。
- AtomicReference<Map<String, Map<String, Map<String, String>>>>是什么东东
- Core Java写的真是好啊
- 怎样用java编写一个WEB浏览器
- 请问如何将数据库中以二进制形式存储的图片取出,并在网页上显示出来?
- 如何将word,ps等格式的文件转为pdf格式,
- 如何实现数据的校验
- 那里有visual age for java4.0下载。不要ibm.com的.
- 我们的一个 javacc 程序 遇到了问题 希望各位大侠 指点批评一下
- 在java中,gzip 压缩和解压多个文件?
conn.close();
conn = null;
}
if(sta != null) {
//sta.close(); //为什么这里关闭系统资源时错误?
sta = null;
}
if(rs != null) {
//rs.close();
rs = null;
}
关闭顺序写反了倒过来conn.close();都先关了还有statement对象和Result么
应该先关闭RESULTSET再关闭Statement最后才关闭Connection