準備後にパラメータを追加すると、C# MySQL の準備されたステートメントが失敗するのはなぜですか?

Susan Sarandon
リリース: 2024-11-16 19:25:03
オリジナル
402 人が閲覧しました

Why Do My C# MySQL Prepared Statements Fail If I Add Parameters After Preparing?

MySQL を使用した C# でのプリペアド ステートメントの実装の問題

MySQL を使用して C# でプリペアド ステートメントを利用しようとすると、次の問題が発生しました。彼らのコードは正しく実行できませんでした。従来のステートメントのアプローチに戻すと、プログラムは適切に機能しました。

ユーザーのコード スニペットを調べると、パラメーターを追加する前にステートメントの準備が試行されたことがわかります。この誤った操作順序により、予期しない結果が生じる可能性があります。

この問題を修正するには、次の手順に従う必要があります。

  1. Parameters.AddWithValue() を使用してステートメントにパラメータを追加します。 .
  2. Prepare() を使用してステートメントを準備します。

修正されたコードは次のようになります。

cmd = new MySqlCommand("SELECT * FROM admin WHERE admin_username=@val1 AND admin_password=PASSWORD(@val2)", MySqlConn.conn);
cmd.Parameters.AddWithValue("@val1", tboxUserName.Text);
cmd.Parameters.AddWithValue("@val2", tboxPassword.Text);
cmd.Prepare();
ログイン後にコピー

以上が準備後にパラメータを追加すると、C# MySQL の準備されたステートメントが失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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