0

我想获取对 Oracle DB 中设置的表的特定列(比如说 ID)的行引用数,我的代码是

String selectTableRowsSQL4 = "SELECT row "
+ "FROM contract_type_info"
+ "WHERE ID = ?";              
preparedStatementSelect = dbConnection.prepareStatement(selectTableRowsSQL4);
preparedStatementSelect.setInt(1, 5);
preparedStatementSelect.getResultSet().getRow();
System.out.println("Row: " + preparedStatementSelect.getResultSet().getRow());

当我运行上面的代码时,我的结果为零 (0)!

事实上,我试图找出 ID=5 在哪一行?

4

3 回答 3

0

您是否正在执行准备好的语句?

execute 方法执行一条 SQL 语句并指示第一个结果的形式。然后,您必须使用方法 getResultSet 或 getUpdateCount 检索结果,并使用 getMoreResults 移动到任何后续结果。

您需要在获取结果集之前执行此操作。有关详细信息,请参阅JDBC 教程

您必须使用SQL count() 方法来获取行数,或者(效率较低)遍历结果集并使用计数ResultSet.next()

于 2013-02-12T10:54:08.877 回答
0

使用这个查询

select count(row)
from countract_type_info
where id = 10   

在你的情况下

String selectTableRowsSQL4 = "SELECT count(row) "
+ "FROM contract_type_info"
+ "WHERE ID = ?";  
于 2013-02-12T10:51:57.437 回答
0

像下面这样的东西??而且你从来没有执行过你的查询。你必须使用PreparedStatement.executeQuery()来执行查询,它返回一个ResultSet object.

preparedStatementSelect = dbConnection.prepareStatement(selectTableRowsSQL4);
preparedStatementSelect.setInt(1, 5);
ResultSet rs = preparedStatement.executeQuery();
while(rs.next()){
System.out.println("Row: " + rs.getRow());
}
于 2013-02-12T10:52:05.793 回答