Parameter Prosedur Tersimpan: Bahagian yang Hilang
Apabila cuba memasukkan data ke dalam pangkalan data SQL Server melalui prosedur tersimpan, anda mungkin menghadapi ralat: "Prosedur atau fungsi mengharapkan parameter yang tidak dibekalkan." Ralat ini menunjukkan bahawa parameter yang diperlukan tiada daripada invokasi prosedur tersimpan.
Mengenal pasti Parameter Hilang
Untuk menentukan parameter bermasalah, rujuk mesej ralat. Ia biasanya memberikan nama parameter yang hilang, dalam kes ini, "@userID".
Mengesahkan Kewujudan Parameter
Selepas mengesahkan definisi prosedur tersimpan, anda mungkin perasan semua parameter ada. Jadi, mengapa ralat? Dalam kes ini, kod tersebut nampaknya memanggil prosedur tersimpan "SHOWuser" dengan betul.
Memeriksa Perlaksanaan Perintah
Walau bagaimanapun, adalah penting untuk menetapkan sifat CommandType untuk objek SqlCommand kepada "StoredProcedure." Ini mengarahkan pangkalan data bahawa arahan itu melaksanakan prosedur tersimpan. Tanpa tetapan ini, pangkalan data mungkin cuba melaksanakan perintah sebagai pertanyaan biasa dan parameter yang hilang boleh menyebabkan ralat.
Pembetulan Kod
Coretan kod berikut menunjukkan pembetulan yang diperlukan:
SqlCommand cmd = new SqlCommand(); cmd.Connection = dbcon; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "SHOWuser";
Root Kemungkinan Punca
Walaupun semua nilai parameter dibekalkan dengan betul, anda mungkin menghadapi ralat ini jika CommandType tidak ditetapkan secara eksplisit. Mesej ralat boleh mengelirukan dalam kes sedemikian. Walau bagaimanapun, memeriksa kod dengan teliti dan memahami selok-belok lulus parameter akan membantu menyelesaikan isu ini.
Atas ialah kandungan terperinci Mengapa Prosedur Tersimpan Saya Mengembalikan 'Prosedur atau fungsi mengharapkan parameter yang tidak dibekalkan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!