rs为什么为空?

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:41:01
我的数据库连接部分程序:
import java.sql.*;
public class sql_data {
//String sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String sDBDriver = "net.sourceforge.jtds.jdbc.Driver";
//String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=infosite";
String url = "jdbc:jtds:sqlserver://localhost:1433;DatabaseName=Test";
//pubs为你的数据库的
String user = "sa";
String password = "";
Connection conn=null;
Statement stmt = null;
ResultSet rs = null;
public sql_data() {
try {
Class.forName(sDBDriver);

} catch (java.lang.ClassNotFoundException e) {
System.err.println("sql_data(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
try {
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement(
ResultSet.TYP

ResultSet rs表示的是结果集,但是它指向的指针是结果集的前边,也就是说rs指向的位置是空,rs下一个的位置才是结果集的真正位置
所以,在打印输出之前,最好rs.next(),一下
while(rs.next()){

}
rs.next()结果集的下一个是否还存在,如果存在返回结果集的 一个字段,如果不存在,返回空

rs指向的是第一条记录前,所以进行访问时要调用next()方法