Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggunakan Pembolehubah Ditakrifkan Pengguna MySQL dengan MySqlCommand dalam .NET?
Dalam artikel ini, kami akan meneroka isu biasa yang dihadapi semasa melaksanakan pertanyaan MySQL yang melibatkan pembolehubah yang ditentukan pengguna dalam persekitaran .NET menggunakan MySqlCommand objek.
Latar Belakang
Pembolehubah takrif pengguna memainkan peranan penting dalam MySQL untuk melaksanakan operasi SQL dinamik. Walau bagaimanapun, apabila cuba menggunakan pembolehubah sedemikian dalam .NET MySqlCommand, ia tidak disokong secara langsung di luar kotak.
Pelaksanaan Pertanyaan dengan Pembolehubah Ditakrifkan Pengguna
Pertimbangkan berikut pernyataan SQL yang menggunakan pembolehubah takrif pengguna @rownum untuk menomborkan baris yang berbeza yang diambil daripada pertanyaan:
SELECT @rownum := @rownum +1 rownum, t.* FROM ( SELECT @rownum :=0 ) r, ( SELECT DISTINCT TYPE FROM `node` WHERE TYPE NOT IN ('ad', 'chatroom') )t
Pengecualian Ditemui dalam .NET
Apabila melaksanakan pertanyaan ini menggunakan MySqlCommand, pengecualian mungkin akan dilemparkan disebabkan pembolehubah @rownum yang tidak dikenali. Ini kerana .NET menganggapnya sebagai parameter yang memerlukan takrifan yang jelas.
Penyelesaian
Untuk menyelesaikan isu ini, anda boleh mengubah suai rentetan sambungan anda dengan menambahkan ; Benarkan Pembolehubah Pengguna=Benar:
using (var sqlConnection = new MySqlConnection(SOURCE_CONNECTION + ";Allow User Variables=True"))
Dengan mendayakan bendera Benarkan Pembolehubah Pengguna, Pemacu MySQL boleh mengecam pembolehubah @rownum dan melaksanakan pertanyaan dengan betul.
Penyelesaian Alternatif
Jika anda tidak dapat menggunakan pembolehubah yang ditentukan pengguna, pertimbangkan untuk meneroka penyelesaian alternatif untuk mendapatkan nombor baris:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pembolehubah Ditakrifkan Pengguna MySQL dengan MySqlCommand dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!