Apabila cuba untuk melaksanakan pertanyaan berparameter dengan input kotak teks sebagai parameter, pengguna sering menghadapi ralat ini . Untuk membetulkan isu ini, adalah penting untuk memastikan bahawa nilai parameter ditetapkan dengan betul sebelum melaksanakan pertanyaan.
Punca Punca:
Pertanyaan berparameter menggunakan ruang letak (mis., " @Parameter1") untuk mewakili nilai yang akan diberikan secara dinamik semasa pelaksanaan. Jika parameter tidak dibekalkan atau nilainya batal, pertanyaan akan gagal.
Penyelesaian:
Tambah Parameter pada Pertanyaan :
cmd.Parameters.Add("@Department", SqlDbType.VarChar)
Ini mencipta parameter bernama "@Department" yang akan menerima nilai rentetan.
Kendalikan Nilai Null:
Jika input kotak teks mungkin kosong (null), semak untuknya dan tetapkan DBNull. Nilai sewajarnya:
If (TextBox2.Text = Nothing) Then cmd.Parameters("@Department").Value = DBNull.Value Else cmd.Parameters("@Department").Value = TextBox2.Text End If
Ini memastikan anda tidak melepasi nilai nol secara langsung, yang tidak diterima oleh pertanyaan berparameter.
Dengan mengikut langkah ini, parameter akan ditetapkan dengan betul dan pertanyaan akan dilaksanakan dengan jayanya. Ingat untuk mempertimbangkan nilai nol apabila bekerja dengan pertanyaan berparameter untuk mengelakkan ralat biasa.
Atas ialah kandungan terperinci Mengapa Pertanyaan Berparameter Saya Membuang Ralat 'Parameter Tidak Dibekalkan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!