Как добавить значение int в столбец sql из netbeans - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь получить значение 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) {

}

1 Ответ

0 голосов
/ 29 декабря 2018

Я подозреваю, что в первом запросе вы хотите увеличить столбец 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'";

Вы пропустили некоторые необходимые пробелы, но опять же было бы предпочтительнее использовать подготовленный оператор, что позволяет легко избежать таких проблем форматирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...