OracleCommand.BindByName

Diyelim ki C# ile, Oracle veritabanında bulunan aşağıdaki stored procedure’u çalıştırmak istiyoruz.

Yazmamız gereken kod aşağıdaki gibi bir şey olacak;

Burada parametreleri eklerken SP ile aynı sırada verdiğimiz için bir sıkıntı yok ama kodu aşağıdaki gibi yazsaydık SP içerisinde PARAM1  2, PARAM2  ise 1 değerini alacaktı.

Oracle.DataAccess dll’indeki OracleCommand  sınıfı, aksi belirtilmediği sürece parametrelerin isimlerini değil verilme sıralarını dikkate alıyor. Neden default olarak böyle olduğunu anlamadığım bir şekilde bu durum, command  nesnesindeki BindByName  parametresi ile çözülebiliyor.

İşin gücün insana sıkıntı çıkarmak Oracle.