Rumah >pangkalan data >tutorial mysql >Bagaimana Menggunakan Pernyataan yang Disediakan dengan MySQL dalam C# dengan betul?

Bagaimana Menggunakan Pernyataan yang Disediakan dengan MySQL dalam C# dengan betul?

Barbara Streisand
Barbara Streisandasal
2024-11-16 13:45:03905semak imbas

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

Menggunakan Penyata Disediakan dalam C# dengan MySQL

Apabila cuba melaksanakan kenyataan yang disediakan dalam program C#, sesetengah pengguna mungkin menghadapi masalah jika mereka mempunyai tidak memformatkan pertanyaan mereka dengan betul atau menyediakan pernyataan selepas menambah parameter.

Untuk menyelesaikan isu ini, ikut langkah berikut:

  1. Alih keluar petikan tunggal daripada pertanyaan: Dalam kod yang disediakan, pertanyaan disertakan dalam petikan tunggal. Ini tidak perlu dan harus dialih keluar.
  2. Gunakan Sediakan selepas menambah parameter: Sebelum melaksanakan pertanyaan, pernyataan mesti disediakan. Proses ini mencipta rancangan untuk melaksanakan pertanyaan dengan cekap. Letakkan panggilan kaedah Prepare() selepas menambah semua parameter yang diperlukan menggunakan cmd.Parameters.AddWithValue().

Kod yang diperbetulkan sepatutnya kelihatan seperti ini:

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

Atas ialah kandungan terperinci Bagaimana Menggunakan Pernyataan yang Disediakan dengan MySQL dalam C# dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn