ホームページ  >  に質問  >  本文

java - 对于 PreparedStatement ,executeQuery() 不能带有参数的错误

PHP中文网PHP中文网2741日前581

全員に返信(4)返信します

  • PHP中文网

    PHP中文网2017-04-18 09:25:18

    PrepareStatement の使用プロセスは次のとおりです:

    1. プレースホルダー SQL インスタンス化を使用する

    2. bindXX メソッドを呼び出してパラメータのバインドを完了します

    3. executeUpdate メソッドまたはexecuteQuery メソッドを呼び出します。パラメーターは手順 1 と 2 で処理されるため、ここではパラメーターは渡されません。

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:25:18

    上記ですでに SQL を pst に渡していますが、なぜそれを executableQuery に渡す必要があるのでしょうか?

    返事
    0
  • 怪我咯

    怪我咯2017-04-18 09:25:18

    psr.executeQuery(sql)、結果セットを取得するためのパラメータはすでに渡されています。パラメータを渡す必要はもうありません。

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:25:18

    PreparedStatement クラスは、SQL ステートメントを準備するために使用されます。
    例:
    `ResultSet rs = null;
    PreparedStatementloginStatement =

    リーリー

    ?プレースホルダーを表すには、setString(int, String) などのメソッドを使用してプレースホルダーの値を設定できます。 int パラメータはプレースホルダの数値です (0 から始まるわけではなく、数学的な数値であることに注意してください)。2 番目のパラメータは、対応するプレースホルダ (?) を値に置き換えることを示します。これを行うと、データベースに SQL インジェクションが行われるのを防ぐことができます。 SQL ステートメントのキーワード は、プレースホルダー で置き換えることはできないことに注意してください。プレースホルダーは、指定した文字列を自動的に一重引用符で囲み、SQL ステートメントの実行に失敗するためです。携帯電話コードをチェックしてください

    返事
    0
  • キャンセル返事