我正在使用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
。但我可以向你保证,这张桌子确实存在。
更新
拍摄。我编辑了错误的sql。现在它成功了。你的时间。
答案 0 :(得分:2)
如果尝试从显示的sql中绑定值并从SQL提示符或任何SQL编辑器中执行它,是否会出现此错误? 确保您的查询在其末尾或查询中的任何位置没有分号(“;”)。
答案 1 :(得分:0)
尝试这样做..
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();