Saya perhatikan bahwa Anda belum menyetel CommandType ke StoredProcedure... Saya tidak tahu apakah itu penyebab masalah Anda atau bukan:
cmd.CommandType = CommandType.StoredProcedure;
Saya telah melakukan ini berkali-kali sehingga saya tidak dapat menghitungnya.
Kiat untuk memicu ingatan Anda saat ini memunculkan pengecualian di lain waktu:
Buka SQL Query Profiler saat Anda menjalankan aplikasi. Ketika setiap perintah dijalankan, itu menunjukkan SQL yang dihasilkan dan dijalankan di sisi server. Jika SQL yang dihasilkan dimulai dengan sp_executesql
diikuti oleh kueri Anda kemudian dijalankan sebagai kueri biasa - yaitu cmd.CommandType = CommandType.Text
, jika dimulai dengan exec
, kemungkinan dijalankan sebagai proc tersimpan. Pastikan Anda mendapatkan SQL yang benar yang dihasilkan untuk jenis kueri yang Anda coba jalankan.