【发布时间】:2019-06-21 13:35:19
【问题描述】:
所以,我想循环这个 ResultSet 以便一一更新表格,但是方法 while(rsl.next()) 无法帮助我进行循环。它只工作一次,然后跳过其他工作。有人可以帮我解决这个问题吗?提前致谢
try {
String url = "jdbc:mysql://localhost/minimarket";
String user = "root";
String pass = "";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, pass);
Statement stmt = conn.createStatement();
ResultSet rsl = stmt.executeQuery("SELECT * FROM keranjang WHERE pemesan='"+login.userid+"'");
while (rsl.next()) {
String nb = rsl.getString("nama_barang");
String dtl = rsl.getString("detail");
String beratt = rsl.getString("berat");
String hrga = rsl.getString("harga");
String jmlh = rsl.getString("jumlah");
stmt.executeUpdate("UPDATE barang SET stok=stok+'"+jmlh+"' WHERE nama_barang='"+nb+"' AND detail='"+dtl+"' AND berat='"+beratt+"'");
stmt.executeUpdate("DELETE FROM keranjang WHERE pemesan ='"+login.userid+"' AND nama_barang='"+nb+"'");
}
conn.close();
} catch (Exception error) {
}
System.exit(0);
【问题讨论】:
-
试试
while(rs1.hasNext()){ rs1.next() ... -
您的代码显示
if这不是循环。 -
@NeplatnyUdaj
ResultSet没有hasNext()方法。 -
while(rsl.next())是正确的。问题可能出在其他地方。请在您尝试使用while循环的位置发布实际代码。 -
那么请告诉我们,您在代码中实际使用的是哪一个,
if或while?