У меня проблема с настройкой PreparedStatement
для вставки новой строки в мою таблицу.Я проверил запрос в своем редакторе SQL, и он успешно работал, но я не могу заставить этот PreparedStatement работать.
String sql = "INSERT INTO table game(gamedate, type, world) values (TIMESTAMP '?', ?, '?');"
runQuery(sql, date, type, world);
...
protected runQuery(String sql, Object... params){
try {
initiateConnection();
PreparedStatement statement = connection.PrepareStatement(sql);
int i = 1;
for (Object p : params){
statement.setObject(i, p);
i++;
}
statement.executeUpdate();
} catch (Exception ex){
} finally {
//close up things
}
}
Я добавил в некоторыхprintln (), чтобы проверить вывод, и все вроде бы нормально
sql: INSERT INTO game(gamedate, type, world) values(TIMESTAMP '?', ?, '?');
date: 2012-03-13 21:42:14
type: 1
world: test
Я получаю ошибку
java.sql.SQLException недопустимый индекс столбца
Я действительно очень озадачен здесь.Есть идеи, кто здесь виноват?