【发布时间】:2021-05-01 05:40:36
【问题描述】:
我正在尝试更新我的数据库,其中图书副本将根据图书代码更新为 5。
我在数据库中初始化的 Book 副本是 10。现在,我有一个固定值 5 来更改它。我的计划是如果用户借用它,则将副本减少 1。但是现在,我正在尝试学习如何首先更新这本书,如果它可以工作的话。
这是我的代码,其中我的数据库中的 Book 副本仍未更新到 5。
try{
con = DriverManager.getConnection("jdbc:derby://localhost:1510/LibSyst", "student", "student");
String updating = "UPDATE BOOKS SET copies = ? WHERE code = ?";
ps = con.prepareStatement(updating);
//trying to convert String to Int here
String strCOde = bookCode.getText();
int intCode = Integer.parseInt(strCOde);
ps.setInt(7, 5);
ps.setInt(1, intCode);
ps.executeUpdate();
}catch (Exception e ){
JOptionPane.showMessageDialog(null, "Update Failed");
}
另外,副本数据类型是数字,对吗?
【问题讨论】:
-
ps.setInt(7, 5);。你在这里做什么?应该是ps.setInt(2, 5);。其余的看起来可以更新您的记录。 -
@Ashish 我正在将 BookCopies 更新为 5。数字 7 是 BookCopies 在表中的位置,数字 5 是我希望将数字 10 转换为的固定值。这是我遵循的示例代码>>alvinalexander.com/blog/post/jdbc/…
-
不要只打印像 "Update Failed" 这样的通用消息,请确保您还记录了整个异常,以便检查失败的原因/原因。