我在学习一些关于JDBC以及如何与数据库交互的知识。我了解基础知识,但现在遇到了可更新结果集的问题。在这个练习中,我必须检查数据库中所有啤酒的库存,并添加50。JDBC和可更新结果集
所以这段代码确实有效,但不是所有的时间。我已经多次运行它,大约有50%的时间股票实际上涨了。检查这个我已经写了另一个小的while循环,打印一张表与必要的数据。任何想法为什么它不能100%的时间工作?
数据库中有1071条记录,我在获得结果后立即运行此代码。在再次运行之前我应该等待吗?
package stockbier;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class bierenstock {
public static void main(String[] args) {
try (Connection con = DriverManager.getConnection(
"jdbc:mysql://noelvaes.eu/StudentDB", "student", "student123");
PreparedStatement stmt = con.prepareStatement
("select * from Beers",
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);) {
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
// edited int stock
int stock = rs.getInt("Stock") + 50;
rs.updateInt("Stock", stock);
rs.updateRow();
}
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
感谢您对Marius的评论,但自从我写这段代码以来,我已经有一段时间了,我不可能再记起来了。基本上我完成这个练习后没有碰到JDBC!我正在开发一个专门用于休眠的项目。 – YoNuevo
Np。超级,你现在正在做一个项目!我正在阅读一本关于JDBC的书“Java数据库编程圣经”。它有例子,很简单。 :) – Willmore