Java データベースのパラメータ インデックスが範囲外エラーです
Java を使用してデータベースと対話しようとすると、「java」エラーが発生する場合があります。 .sql.SQLException: パラメーター インデックスが範囲外です (1 > パラメーターの数、つまり 0)。」このエラーは、SQL ステートメントとそのパラメータに指定された値との間に不一致があることを示します。
原因:
このエラーは、PreparedStatement を使用してパラメータを設定しようとすると発生します。オブジェクトですが、対応する SQL ステートメントにはそのパラメーターのプレースホルダー (?) が含まれていません。クエリ内で対応するプレースホルダーを指定せずに setString() または他のセッター メソッドを使用すると、このエラーが発生します。
解決策:
このエラーを解決するには、SQL ステートメントが次のように設定されていることを確認してください。 PreparedStatement オブジェクトを通じて設定するすべてのパラメータのプレースホルダが含まれています。プレースホルダーはステートメント内では疑問符 (?) として表す必要があります。
例:
間違ったステートメント:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (val1, val2, val3)";
正しいステートメント:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)";
追加考慮事項:
その他のリソース:
以上がJava データベース コードで「パラメータ インデックスが範囲外です」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。