#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
, тесты и другие подробности опущены для краткости)