获取特定列ID的行引用数

时间:2013-02-12 10:49:34

标签: java sql oracle

我想获得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在哪一行?

3 个答案:

答案 0 :(得分:0)

使用此查询

select count(row)
from countract_type_info
where id = 10   

在你的情况下

String selectTableRowsSQL4 = "SELECT count(row) "
+ "FROM contract_type_info"
+ "WHERE ID = ?";  

答案 1 :(得分:0)

下面的东西?而且你从来没有执行过你的查询。您将使用PreparedStatement.executeQuery()执行查询,该{{3}}将返回ResultSet object

preparedStatementSelect = dbConnection.prepareStatement(selectTableRowsSQL4);
preparedStatementSelect.setInt(1, 5);
ResultSet rs = preparedStatement.executeQuery();
while(rs.next()){
System.out.println("Row: " + rs.getRow());
}

答案 2 :(得分:0)

你是executing准备好的陈述吗?

  

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

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

您必须使用the SQL count() method获取行数,(效率较低)迭代结果集并使用ResultSet.next()计算