我有一个奇怪的问题。我有一个数据库,我想改变一列的值。这些值在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