亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 JDBC 從 ResultSet 中只獲取 5 行?

如何使用 JDBC 從 ResultSet 中只獲取 5 行?

慕森卡 2023-03-17 15:29:08
我有一個 select SQL 可能會獲取多行數據。我只想要前 5 行。除了添加rownums = 5或添加statement.setMaxRows(5). 我可以使用 java 編碼得到結果嗎?謝謝。我嘗試了循環和 while(rs.next() && i < 5)。所有這些都不起作用。    try (Connection connection = abc.getConnection();        PreparedStatement statement = connection.prepareStatement(sql))     {        statement.setString(1,idNum);        ResultSet rs = statement.executeQuery();        for (int i = 0; i < 5; i++) {            while (rs.next()) {                itemList.add(rs.getString("idName"));                               }        }    }itemList它顯示了來自選擇 SQL的所有結果。
查看完整描述

3 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

目前,循環的單次迭代會耗盡整個結果集。

您可能想要添加結束條件,例如:

for (int i = 0; i < 5 && rs.next(); i++) {

    itemList.add(rs.getString("idName"));                   

}

請注意,您的嘗試 withwhile(rs.next() && i < 5)也應該有效,您可能只是錯過了i.


查看完整回答
反對 回復 2023-03-17
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

您的查詢負責從 DB 獲取數據,因此最好控制從 db 本身檢索行,這將避免您的 java 代碼檢查。根據您的要求在查詢中使用限制 5。



查看完整回答
反對 回復 2023-03-17
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

您只能從客戶端的結果集中讀取前 5 行,但理想情況下您應該限制數據庫返回的行數。limit 5在查詢中使用。

這將避免將那些額外的行從數據庫返回到客戶端所需的大量不必要的工作。


查看完整回答
反對 回復 2023-03-17
  • 3 回答
  • 0 關注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號