簡體   English   中英

即使條件為真也無法進入while循環

[英]Failure to enter the while loop even when the condition is true

我正在努力從數據庫中提取數據。 請在下面找到代碼:

我正在使用Springframework.jdbc中的“ org.springframework.jdbc.support.rowset.SqlRowSet”。

String query="SELECT * from TABLE_NAME where id=? and password=?";
args.add(userId);
args.add(password);
SqlRowSet rs = this.jdbcTemplate.queryForRowSet(query, args.toArray());
while (rs.next()) {
---Some Code---
}

rs.next()為true,但不會進入循環。 在如何克服這個問題上需要一些幫助。 任何幫助表示贊賞。

這只是一個猜測,但是由於您知道rs.next()返回true ,所以這意味着您已執行了它(在調試模式下或打印到控制台等)。

每次執行時,它都會將行集前進到下一行(如果有的話)。 如果行集僅包含1行,並且您在循環之前“檢查”了rs.next()返回的值,則將永遠不會進入循環,因為再次調用該循環時,不再有任何行,因此返回false

我不是那個原因。 但是我改變了實現。 我已經通過從resultSet獲取大小將while循環更改為for循環。 非常感謝您的建議。

int size =0;  
            if (rs != null)   
            {  
                rs.beforeFirst();  
                rs.last();  
            size = rs.getRow();
            }
            for (int i =0;i<size;i++){//Do SOMETHING}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM