ホームページ >データベース >mysql チュートリアル >MySQL での C# プリペアド ステートメントが失敗するのはなぜですか? どうすれば修正できますか?
MySQL を使用した C# でのプリペアド ステートメントの使用法
C# プログラムでプリペアド ステートメントを使用しようとすると、開発者は問題に遭遇する可能性があります。よくある問題の 1 つは、プリペアド ステートメントのコードが通常のステートメントに置き換えられ、実行が成功した場合に発生します。
詳しく調べると、プリペアド ステートメントが正しく構成されていないことが明らかです。プリペアド ステートメントを適切に利用するための重要な手順は次のとおりです。
次の例は、修正された Prepared Statement の使用法を示しています。
private void btnLogin_Click(object sender, EventArgs e) { MySqlCommand cmd = MySqlConn.cmd; 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(); MySqlDataReader res = cmd.ExecuteReader(); if (!res.HasRows) { MessageBox.Show("Error! "); res.Close(); return; } else { //do something } res.Close(); }
この改訂されたコードでは、一重引用符が使用されています。クエリ内のパラメータ値を囲む (') は削除されます。さらに、パラメータを追加した後に Prepare メソッドが呼び出されます。これらの手順に従うことで、MySQL を使用した C# プログラムでプリペアド ステートメントを効果的に利用できます。
以上がMySQL での C# プリペアド ステートメントが失敗するのはなぜですか? どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。