Здесь resultSet.getInt () не работает, но я не знаю, что не так с моим кодом.
Я хочу увеличить значение столбца (с именем в качестве переменной 'посещаемость "). Используя инструкцию SELECT, я хочу прочитать текущее значение, а используя UPDATE, я хочу увеличить соответствующее значение на 1. Но проблема в том, что int a = r.getInt ("'" + посещаемость + "'");не работаетОн всегда возвращает значение 0, хотя текущее значение не равно 0 (например, 1). Что не так с моим кодом?
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:"+ x +".db");
s = c.createStatement();
r = s.executeQuery("SELECT '" + attendance + "' FROM viewer WHERE name = '" + name + "' AND year = '" + year + "'");
while (r.next()){
int a = r.getInt("'" + attendance + "'");
int b = 1 + a;
String sql = "UPDATE viewer SET '" + attendance + "' = ? WHERE name = ? AND year = ? ";
p = c.prepareStatement(sql);
p.setInt (1,b);
p.setString (2,name);
p.setInt (3,year);
p.executeUpdate();
}
p.close();
c.close();
// r.getInt() value always 0
}
catch (ClassNotFoundException | SQLException e) {
JOptionPane.showMessageDialog(null, e);
}