Как добавить число в поле в ms access?

#java #sql

#java #sql

Вопрос:

Я пытаюсь добавить число 1 в определенное поле. Как мне это удалось сделать? Я пробовал, но я никогда не могу заставить его добавить 1. В моем столбце таблицы ms access установлено значение Number, а не text.

 if (s2.equals(box1Text)) {
                        if (s3.equals(box2Text)) {
                            if (s5.equals(currentWinner)) {
                                String sql = "UPDATE Table2 "  "SET Score = ? "   "WHERE Better = '"   s1 "'";
                                PreparedStatement stmt = con.prepareStatement(sql);
                                //points made here
                                if (s4.equals(betScore)) {
                                    stmt.setString(1, " 1");//how could i add 1 to the field?
                                    stmt.executeUpdate();
                                } else {

                                }
  

Комментарии:

1. Вам понадобится исходное значение, затем вы увеличите значение и примените его к полю. Возможно, было бы лучше использовать setObject вместо setString

2. Как я мог это сделать? Нужно ли мне создавать новое утверждение? нравится SELECT?

3. Предполагая, что у вас нет alp ready, прочитайте его, вероятно

4. Как мне выбрать конкретное поле? Вместо того, чтобы выбирать все это?

5. Выберите {имя поля} из {таблица}….

Ответ №1:

Сначала вы делаете то, что считается плохой практикой: вы создаете свой запрос, добавляя значение параметра в строку.

 String sql = "UPDATE... >  s1  <..."
  

Пожалуйста, не делайте этого (что находится между > и < ) при серьезном программировании, но всегда используйте ? для передачи значений.

Во-вторых, SQL может выполнить эту работу за вас :

 String sql = "UPDATE Table2 SET Score = Score   1 WHERE Better = ?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, s1);
stmt.executeUpdate();
  

( try , catch , тесты и другие подробности опущены для краткости)