Java does not run prepare statements with parameter

元气小坏坏 提交于 2019-12-07 17:00:58

问题


I am using PreparedStatement to query my table. Unfortunately, I have not been able to do so.

My code is as simple as this:

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

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

The error thrown is java.sql.SQLException: ORA-00911: invalid character. As if it never run through the parameter given.

Thanks for your time. I've spend a day to debug this yet still unsuccessful.

As mention by Piyush, if I omit the semicolon at the end of statement, a new error is thrown. java.sql.SQLException: ORA-00942: table or view does not exist. But I can assure you this table is indeed exist.

UPDATE

shoot. i edited the wrong sql. now it is successful. thx for your time.


回答1:


Do you get this error if you try binding values from the shown sql and excute it from the SQL prompt or any SQL editor? Make sure your query is not having semicolon (";") at the end of it or anywhere in the query.




回答2:


try giving it this way..

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


来源:https://stackoverflow.com/questions/5177476/java-does-not-run-prepare-statements-with-parameter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!