Zaiman Noris
Zaiman Noris

Reputation: 327

Java does not run prepare statements with parameter

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.

Upvotes: 3

Views: 3991

Answers (2)

axatrikx
axatrikx

Reputation: 396

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

Upvotes: 0

Piyush Mattoo
Piyush Mattoo

Reputation: 16125

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.

Upvotes: 2

Related Questions