我正在尝试将 JSpinners 值添加到数据库中的列中, 为什么当我将变量 query2 放入 db.update() 中而不是查询时它可以工作?我需要改变什么?
try {
int points = (int) antalPoäng.getValue();
String query = "UPDATE ELEVHEM SET HUSPOANG = HUSPOANG" + points + "WHERE ELEVHEMSNAMN ='Gryffindor'";
String query2 = "UPDATE ELEVHEM SET HUSPOANG = HUSPOANG +1 WHERE ELEVHEMSNAMN ='Gryffindor'";
if (namnElevhem.getSelectedItem().equals("Gryffindor")) {
db.update(query);
JOptionPane.showMessageDialog(null,"The points has been added")
}
}
catch(InfException e) {
}
最佳答案
我怀疑在您的第一个查询中您希望将 HUSPOANG
列增加一定数量。我们可以尝试更正您的串联查询字符串,但最好在此处使用准备好的语句:
String sql = "UPDATE ELEVHEM SET HUSPOANG = HUSPOANG + ? WHERE ELEVHEMSNAMN = 'Gryffindor'";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, points);
ps.executeUpdate();
如果您想继续使用当前的方法,那么您需要修复查询字符串:
String query = "UPDATE ELEVHEM SET HUSPOANG = HUSPOANG + " + points +
" WHERE ELEVHEMSNAMN = 'Gryffindor'";
您缺少一些所需的空格,但最好再次使用准备好的语句,这样可以轻松避免此类格式问题。
关于java - 如何从 netbeans 将 int 值添加到 sql 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53970767/