У меня есть две таблицы с двумя столбцами для хранения настроек приложения в базе данных SQL. Мой вопрос в том, как обновить запись с изменением значения dCreateTime до минус 1 день плюс две таблицы для вызова whereIDID = atest211. Мой код, похоже, не работает.JDBC - Как обновить запись, где дата -1
Мой код:
public void getEmployeesFromDataBase() {
try {
String query = "update a set a.dCreateTime=a.dCreateTime-1 from tbet a, tuser b where a.iUserKey= b.iUserKey and b.sUserid = 'atest211' and a.dCreateTime> GETDATE()-5";
statement = connection.createStatement();
rs = statement.executeQuery(query);
while (rs.next()) {
int EmpId = rs.getInt("iUserKey");
String EmpName = rs.getString("sUserid");
System.out.println(EmpId + "\t" + EmpName + "\t");
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
Мой обновленный код, он по-прежнему не работает правильно
public void updateTableData() {
PreparedStatement pstmt = null;
try {
pstmt = connection.prepareStatement("update a set a.dCreateTime=a.dCreateTime-1 from tbet a, tuser b where a.iUserKey= b.iUserKey and b.sUserid = 'atest211' and a.dCreateTime> GETDATE()-5");
pstmt.setString(1, "dCreateTime");
pstmt.setString(2, "atest211");
// To execute update query.
pstmt.executeUpdate();
// Printing all records of user table after updating record.
String query = "select * from tbet";
// Get the contents of user table from DB
ResultSet res = statement.executeQuery(query);
// Print the result untill all the records are printed
// res.next() returns true if there is any next record else returns
// false
while (res.next()) {
System.out.println(String.format("%s - %s - %s - %s ", res.getString(1), res.getString(2),
res.getString(3), res.getString(4)));
}
} catch (Exception e) {
e.printStackTrace();
}
Почему селен тег? – Jens
@Jens, потому что я делаю автоматическую часть для записи обновления –
Но ваш вопрос не имеет ничего общего с селеном – Jens