Java не запускает подготовьте операторы с параметром - PullRequest
3 голосов
/ 03 марта 2011

Я использую PreparedStatement для запроса моей таблицы.К сожалению, я не смог этого сделать.

Мой код так прост:

PreparedStatement preparedStatement = connection.prepareStatement(
"Select favoritefood from favoritefoods where catname = ?");

preparedStatement.setString(1, "Cappuccino");                
ResultSet resultSet = preparedStatement.executeQuery();

Выдается ошибка java.sql.SQLException: ORA-00911: invalid character.Как будто он никогда не проходит через данный параметр.

Спасибо за ваше время.Я потратил день на отладку, но все еще безуспешно.

Как упомянул Пиюш, если я опускаю точку с запятой в конце оператора, выдается новая ошибка.java.sql.SQLException: ORA-00942: table or view does not exist.Но я могу заверить вас, что эта таблица действительно существует.

ОБНОВЛЕНИЕ

стрелять.я отредактировал неправильный sql.сейчас это успешно.спасибо за ваше время.

Ответы [ 2 ]

2 голосов
/ 03 марта 2011

Появляется ли эта ошибка, если вы пытаетесь связать значения из показанного sql и извините его из командной строки SQL или любого редактора SQL? Убедитесь, что в вашем запросе нет точки с запятой (";") в конце или в любом месте запроса.

0 голосов
/ 03 марта 2011

попробуйте дать это так ...

String query="Select favoritefood from favoritefoods where catname = ?";
preStat = conn.preparedStatement(query);  // conn is the connection object
preStat.setString(1,"Cappuccino");
ResultSet resultSet=preStat.executeQuery();
...