3

テーブルのクエリに 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です。指定されたパラメーターを実行しないかのように。

御時間ありがとうございます。これをデバッグするために1日を費やしましたが、まだ成功していません。

Piyush が言及したように、ステートメントの末尾にあるセミコロンを省略すると、新しいエラーがスローされます。java.sql.SQLException: ORA-00942: table or view does not exist. しかし、このテーブルが実際に存在することは保証できます。

アップデート

シュート。私は間違ったSQLを編集しました。今は成功しています。お時間いただきありがとうございます。

4

2 に答える 2

2

表示された SQL から値をバインドして、SQL プロンプトまたは任意の SQL エディターから実行しようとすると、このエラーが発生しますか? クエリの末尾またはクエリ内のどこにもセミコロン (";") が含まれていないことを確認してください。

于 2011-03-03T06:42:57.307 に答える
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();
于 2011-03-03T06:54:48.773 に答える