我有一個奇怪的問題。我有一個數據庫,我想改變一列的值。這些值在Arraylist(時間列表)中被保存。Java:SQL查詢:更新列後rs.next()爲false
爲了在正確的行寫入值,我有第二個Arrylist(名單)。所以我想閱讀我的數據庫中的第一行,而不是查看名稱列表並找到名稱。比我從時間列表中取出匹配值並將其寫入數據庫到行中的「following_date」列中,與名稱匹配。
而且比我讀取數據庫的下一行,直到沒有更多的條目。
所以奇怪的是,如果我在數據庫中沒有任何改變,while(rs.next())
部分的作品。
例如:
ResultSet rs = statement.executeQuery("SELECT username FROM users");
while(rs.next()){
// read the result set
String name = rs.getString("username");
System.out.println("username = " + name); //liest die namen
}
}
這名後打印我的每名。但是當我改變表格時,while循環在那之後結束。 (沒有錯誤,程序剛剛結束)
ResultSet rs = statement.executeQuery("SELECT username FROM users");
while(rs.next()){
// read the result set
String name = rs.getString("username");
System.out.println("username = " + name); //writes the name
//look, if name is in Arraylist "namelist"). if yes, than write the matching date from "timelist" into the database.
if (namelist.contains(name)){
System.out.println("name found: "+ name);
int listIndizi = namelist.indexOf(name); //get index
Long indiziDatum = (long) timelist.get(listIndizi); //get date from same Index
System.out.println(indiziDatum); // print date so i can see it is correct (which it is)
statement.executeUpdate("UPDATE users SET follows_date ="+ indiziDatum +" WHERE username = '"+name+"'"); //updates the follows_date column
}
}
一切工作正常,除了現在,while循環不會繼續第一次通過後,但結束。
AHA非常interersting,我不知道。我會試試這個。謝謝:) – aragonthebest
是的,它現在的作品。是否有可能同時宣佈2個國家的分離變量? – aragonthebest
我不明白這個問題嗎?你可以擁有儘可能多的語句對象。你可以發佈有問題的(僞)代碼嗎?不要忘了接受答案:-) – Guenther