JDBC单行结果集访问错误

时间:2016-04-01 15:12:27

标签: sql jdbc resultset

我有一行单行查询输出,如下所示

Product | Process | s_int
--------------------------
W01     | AP_03   | 1

要访问我正在使用结果集(rSet)的数据

rSet.first(); 
do{
     product = rSet.getString("PRODUCT");
     process = rSet.getString("PROCESS");
     s_int = rSet.getInt("S_INT");

     System.out.println("Hello Product["+rSet.getString("PRODUCT")+"] Process["+rSet.getString("PROCESS")+"] S_Int["+rSet.getInt("sint")+"]");
}while(rSet.next());

我收到此错误:

  

结果集没有当前行   并且返回值为null和0.

我做错了什么?

1 个答案:

答案 0 :(得分:1)

ResultSet.first()会返回一个boolean,表示它是否在一行上:

  

true如果光标位于有效行上; false如果结果集中没有行

在尝试访问ResultSet之前检查一下。代码的另一种结构:

//final ResultSet rSet = stmt.executeQuery("...");
while (rSet.next())
{
}