Rumah >pangkalan data >tutorial mysql >Mengapa Pernyataan Disediakan C# MySQL saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Pernyataan Disediakan C# MySQL saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?

Patricia Arquette
Patricia Arquetteasal
2024-11-28 11:54:11204semak imbas

Why is my C# MySQL Prepared Statement Failing, and How Can I Fix It?

Penyelesaian Masalah Disediakan dalam C# dengan MySQL

Anda mengalami ralat semasa cuba menggunakan pernyataan yang disediakan dalam program C# anda dengan MySQL. Semasa menukarnya kepada pernyataan standard menghasilkan hasil yang diingini, anda sedang mencari bantuan untuk mengenal pasti isu tersebut.

Kod Salah:

cmd = new MySqlCommand("SELECT * FROM admin WHERE admin_username='@val1' AND admin_password=PASSWORD('@val2')", MySqlConn.conn);
cmd.Prepare();
cmd.Parameters.AddWithValue("@val1", tboxUserName.Text);
cmd.Parameters.AddWithValue("@val2", tboxPassword.Text);

Pembetulan:

  • Gunakan Sediakan selepas Menambah Parameter: Dalam kod yang salah, arahan telah disediakan sebelum menambah parameter. Pendekatan yang betul ialah terlebih dahulu menambah parameter dan kemudian memanggil Prepare().
  • Alih keluar Petikan Tunggal daripada Pertanyaan: Pertanyaan mengandungi petikan tunggal mengelilingi pemegang tempat parameter (@val1 dan @val2), yang tidak betul. Pernyataan yang disediakan memerlukan ruang letak parameter tanpa petikan.

Kod Dibetulkan:

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

Atas ialah kandungan terperinci Mengapa Pernyataan Disediakan C# MySQL saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?. 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