通过结果集检索单个值,并将其与String值进行比较

时间:2014-07-07 09:34:08

标签: java mysql sql

我有一个包含此列的表格(idnameisbnborrowedStatus(varchar),Date)以及我的表格中的一些行

现在我想获得特定borrowedStatus的{​​{1}}值,然后我需要识别该字符串(是或否)。 这是我的代码:

id

但是这段代码在执行时有这个异常:

public void booksTableBorrowChanged(int rowInModel) {
    Object bookId = this.getValueAt(rowInModel, 0);
    Connection con;
    PreparedStatement ps1;
    String query1 = "select borrowedStatus from books where id=" + bookId;
    ResultSet rs = null;
    try {
        con = DriverManager.getConnection(...);
        ps1 = con.prepareStatement(query1);
        rs = ps1.executeQuery();
        if (String.valueOf(rs.getString("BorrowedStatus")).equalsIgnoreCase("No")) {  // then do Borrow Action
            System.out.println("Old statuse : No");

           // then do other stuff

        }

    } catch (SQLException sqle) {
        sqle.printStackTrace();
    }

}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

来自ResultSet' Javadoc:

  

ResultSet对象维护一个指向其当前数据行的游标。最初,光标位于第一行之前。下一个方法将游标移动到下一行,因为当ResultSet对象中没有更多行时它返回false,它可以在while循环中用于迭代结果集。

请注意以&#34开头的句子;最初":您首先必须先致电next才能访问任何数据。