如何将ResultSet光标移动到特定行?

时间:2018-08-09 14:58:26

标签: java resultset

我希望能够从任何输入列中查找和显示数据,但是我不知道如何将光标移动到右行。

这是我的代码,我知道getRow行是错误的。

ResultSetMetaData metadata = rs.getMetaData();
int colIndex;
int rowIndex;
rs = stmt.executeQuery("select COMPANY_CD from ARCUS where CUSTOMER_NO = '"+customer+"'");
rowIndex = rs.getRow();
rs.absolute(rowIndex);
colIndex = rs.findColumn("COMPANY_CD");
System.out.println(colIndex);
rowPane.add(new JLabel(metadata.getColumnName(colIndex)));
rowPane.add(new JLabel(rs.getObject(colIndex).toString())); 

2 个答案:

答案 0 :(得分:1)

您可以前进或后退,也可以前进到最后一个或第一个之前

//Move cursor forward
while (resultSet.next()) {
  // Get data at cursor
  String s = resultSet.getString(1);
}

// Move cursor backward
while (resultSet.previous()) {
  // Get data at cursor
  String s = resultSet.getString(1);
}

// Move cursor before first record
resultSet.beforeFirst();

答案 1 :(得分:-1)

遍历结果以获取目标行,然后结束循环

 int rowIndex;
 while (yourResultSet.next()) {

     if(checkRowIsValid(yourResultSet)){
     rowIndex = yourResultSet.getRow(); 
     break;
     }

 }