2013-02-12 25 views
0

我想獲得的行引用到特定的列中的數字(比方說ID)在Oracle數據庫設置表的 我的代碼是獲得的行引用數到特定的列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是?

+0

會怎麼做時,你在某些SQL客戶端手動執行你的選擇你算什麼? – JimmyB 2013-02-12 10:52:01

+0

爲什麼你調用'preparedStatementSelect.getResultSet()。getRow();'兩次? – 2013-02-12 10:52:23

+0

零(0)!!! ?你的意思是行數? – 2013-02-12 10:53:45

回答

0

使用此查詢

select count(row) 
from countract_type_info 
where id = 10 

在你的情況

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

「count」的SELECT提供有關引用列(WHERE)的ID的多少個元素在表(FROM)內的信息。 – user2064387 2013-02-12 13:12:02

+0

我想使用java rs.absolute(NoOfRow)命令訪問表中的特定元素。事實上,我想知道NoOfRow(行數)通過知道哪裏(哪一行)表中的特定元素被放置 – user2064387 2013-02-12 13:17:36

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()); 
} 
+0

我想要訪問表中的特定元素使用java rs.absolute(NoOfRow)命令。事實上,我想知道NoOfRow(行數)通過知道哪裏(哪一行)表中的特定元素放置.... – user2064387 2013-02-12 13:17:02

+0

感謝您的寶貴意見。 – user2064387 2013-02-12 15:06:17

+0

您的代碼建議會導致所有行;我正在查看包含表中特定元素的行! – user2064387 2013-02-12 15:07:18

0

executing該準備的語句?

執行方法執行一個SQL語句,並指示第一個結果的形式爲 。然後,您必須使用getResultSet或getUpdateCount方法檢索結果,並使用getMoreResults移至任何後續結果的 。

您需要在獲取結果集之前執行此操作。有關更多信息,請參閱JDBC tutorial

你必須使用the SQL count() method獲得的行數,(低效率)遍歷結果集,並使用ResultSet.next()

相關問題