ホームページ  >  記事  >  データベース  >  C# の MySQL でプリペアド ステートメントを適切に使用する方法

C# の MySQL でプリペアド ステートメントを適切に使用する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-16 13:45:03809ブラウズ

How to Properly Use Prepared Statements with MySQL in C#?

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

C# プログラムでプリペアド ステートメントを実装しようとすると、一部のユーザーが問題に遭遇する可能性があります。クエリの形式が正しくないか、パラメータを追加した後にステートメントが準備されていません。

これらの問題を解決するには、次の手順に従います:

  1. クエリから一重引用符を削除します:提供されたコードでは、クエリは一重引用符で囲まれています。これは必要ないので、削除する必要があります。
  2. パラメータを追加した後に Prepare を使用します: クエリを実行する前に、ステートメントを準備する必要があります。このプロセスでは、クエリを効率的に実行するための計画を作成します。 cmd.Parameters.AddWithValue() を使用して必要なパラメーターをすべて追加した後、Prepare() メソッド呼び出しを配置し​​ます。

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

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();
}

以上がC# の MySQL でプリペアド ステートメントを適切に使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。