C# dengan MySQL INSERT Parameter
Apabila cuba memasukkan data ke dalam pangkalan data MySQL menggunakan parameter, pembangun mungkin menghadapi ralat atau isu. Satu isu sedemikian melibatkan lajur "orang" yang tidak dibenarkan menjadi batal.
Menggunakan @ Parameter
Dalam kod asal, kaedah Tambah digunakan untuk menambah parameter kepada perintah. Walau bagaimanapun, untuk mengelakkan kemungkinan pengecualian rujukan nol, adalah disyorkan untuk menggunakan kaedah AddWithValue sebaliknya. Ini memastikan bahawa nilai parameter ditetapkan secara eksplisit, walaupun ia adalah batal.
Contohnya:
comm.Parameters.AddWithValue("@person", "Myname"); comm.Parameters.AddWithValue("@address", "Myaddress");
Menggunakan ? Parameter
Pendekatan lain ialah menggunakan ? sintaks pemegang tempat untuk parameter. Sintaks ini boleh menjadi lebih ringkas dan boleh dibaca, terutamanya apabila berurusan dengan berbilang parameter.
Contohnya:
comm.CommandText = "INSERT INTO room(person,address) VALUES(?person, ?address)"; comm.Parameters.Add("?person", "Myname"); comm.Parameters.Add("?address", "Myaddress");
Menggunakan MySqlDbType
Apabila berurusan dengan jenis data tertentu, ia boleh memberi manfaat untuk menentukan MySqlDbType untuk setiap parameter. Ini memberikan keselamatan jenis yang lebih baik dan boleh membantu mencegah kemungkinan isu penukaran data.
Contohnya:
cmd.Parameters.Add("person", MySqlDbType.VarChar).Value = "myname"; cmd.Parameters.Add("address", MySqlDbType.VarChar).Value = "myaddress";
Penyelesaian Diselesaikan
Kod disemak yang disediakan oleh pengguna melibatkan penggunaan ? sintaks pemegang tempat dengan nama parameter yang betul. Ini menangani ralat "Indeks (berasaskan sifar) mestilah lebih besar daripada atau sama dengan sifar dan kurang daripada saiz senarai argumen".
cmd.CommandText = "INSERT INTO room(person,address) VALUES(?person,?address)"; cmd.Parameters.Add("?person", MySqlDbType.VarChar).Value = "myname"; cmd.Parameters.Add("?address", MySqlDbType.VarChar).Value = "myaddress";
Dengan menggunakan sintaks parameter yang sesuai dan memastikan semua nilai yang diperlukan diberikan, pembangun boleh berjaya memasukkan data ke dalam pangkalan data MySQL menggunakan parameter. Pendekatan ini menggalakkan kejelasan kod, mengurangkan risiko ralat dan meningkatkan keselamatan operasi pangkalan data.
Atas ialah kandungan terperinci Bagaimana Mengelakkan Ralat Semasa Memasukkan Data ke MySQL menggunakan Parameter dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!