Java不运行带参数的prepare语句

我正在使用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 。 好像它永远不会通过给定的参数运行。

谢谢你的时间。 我花了一天时间来调试这个但仍然不成功。

如Piyush所述,如果我在语句结尾处省略分号,则会抛出新错误。 java.sql.SQLException: ORA-00942: table or view does not exist 。 但我可以向你保证,这张桌子确实存在。

UPDATE

射击。 我编辑了错误的sql。 现在它成功了。 你的时间。

如果您尝试从显示的SQL中绑定值并从SQL提示符或任何SQL编辑器中执行它,您会收到此错误吗? 确保您的查询在其末尾或查询中的任何位置没有分号(“;”)。

试着这样给它..

 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();