Проблема с подготовленным оператором - PullRequest
1 голос
/ 13 марта 2012

Я начал использовать подготовленный оператор для своих обновлений sql, но, похоже, у меня возникают проблемы при обновлении.Логика кажется здравой, но я получаю ошибку всякий раз, когда она входит в сегмент обновления.Я могу удалить или вставить нормально.Anywho ...

Connection con = getDBConnection();
PreparedStatement pstmt = null;

String query = "update table set int = ?, String= ? where int= ? and date= ?";
pstmt = con.prepareStatement(query);
pstmt.setInt(1, var);
pstmt.setDate(2, sqlDate);
pstmt.setInt(3, intVar);
pstmt.setString(4, stringVar);
pstmt.executeUpdate();

Я что-то здесь не так делаю?Я сделал все устранение неполадок, которые я могу, и все, кажется, хорошо, за исключением этого, потенциально.

Error = "A non-numeric character was found where a numeric was expected"

1 Ответ

2 голосов
/ 13 марта 2012

Вы неправильно указали строку и дату - вы звоните setDate(2, ...), когда второй параметр находится в контексте "String =?"и setString(4, ...), когда четвертый параметр находится в контексте "date =?".

По общему признанию, ошибка, которую вы получаете, несколько странна для этого, но это все, что я вижу ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...