メソッド設計に関する以前の質問の1つに続いて、SQLクエリを単純な文字列ではなくパラメータ化されたクエリとして実装するようにアドバイスされました。
これまでパラメータ化されたクエリを使用したことがないので、簡単なものから始めることにしました。次のSelectステートメントを使用します。
String select = "SELECT * FROM ? ";
PreparedStatement ps = connection.prepareStatement(select);
ps.setString(1, "person");
これにより、次のエラーが発生します:「[SQLITE_ERROR] SQLエラーまたはデータベースがありません(「?」の近く:構文エラー)」
次に、追加の基準を持つ修正バージョンを試しました。
String select = "SELECT id FROM person WHERE name = ? ";
PreparedStatement ps = connection.prepareStatement(select);
ps.setString(1, "Yui");
このバージョンは正常に動作します。私の最初の例では、パラメーター化されたクエリのポイントが欠落していますか、それとも正しく構成されていませんか?
ありがとう!