[英]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.