PreparedStatement が「?」近くの構文エラーをスローするのはなぜですか: Java MySQL の問題

Susan Sarandon
リリース: 2024-11-19 17:32:03
オリジナル
417 人が閲覧しました

Why Does My PreparedStatement Throw a Syntax Error Near

PreparedStatement 構文エラー: '<'予想される

Java PreparedStatement の使用中に「preparedStatement 構文エラー」が発生するとイライラすることがあります。エラーが発生した場合:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?)' at line 1
ログイン後にコピー

のようなコード:

    String selectSql1
        = "SELECT `value` FROM `sampling_numbers` WHERE `value` < (?)" ;
    ResultSet rs1 = con.select1(selectSql1,randNum);
ログイン後にコピー

。PreparedStatement.executeQuery() ではなく Statement.executeQuery(String) を誤って呼び出しているためです。 。これを修正する方法は次のとおりです:

    this.stmt = con.prepareStatement(sql); // Prepares the Statement.
    stmt.setInt(1, randNum);               // Binds the parameter.
    // return this.stmt.executeQuery(sql); // calls Statement#executeQuery
    return this.stmt.executeQuery();       // calls your prepared PreparedStatement
ログイン後にコピー

この行を変更すると、PreparedStatement が正しく実行され、「preparedStatement 構文エラー」が回避されます。

以上がPreparedStatement が「?」近くの構文エラーをスローするのはなぜですか: Java MySQL の問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート