如何从netbeans向sql列添加int值

kkih6yb8  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(296)

我正在尝试获取要添加到数据库中列的jspinners值,为什么将变量query2放入db.update()而不是query时它仍在工作?我需要改变什么?

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) {

}
ercv8c1e

ercv8c1e1#

我怀疑在您的第一个查询中,您希望增加 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'";

您缺少了一些所需的空格,但还是最好使用一个准备好的语句,这样可以很容易地避免此类格式问题。

相关问题