Daha önce burada kısaca değinmiş olduğum stored procedure örneğini burada çalıştırarak C# ile MySql de stored procedure oluşturmasını ve çalıştırılma şeklini göreceğiz. Şimdi geçelim örneğimize.
MySql de stored procedure çalıştırabilmek için ihtiyaç duyacağımız nesneler şunlar:
- MySqlConnectionÂ
- MySqlCommandÂ
- MySqlParameter
MySql deki stored procedure çalıştırmanın MsSqldekindeki tek farkını verilen parametrelerin başına “@” yerine “?” ekleyerek parametrelere atama yapılması olarak özetlesem ayıp olmaz herhalde
. Elbetteki daha fazla farklılıklar mevcut ama ben burada sadece en çok gözüme ilişen şeyi örnek aldım. Şimdi bu procedure MsSql de olsaydı Parameter nesnemiz şöyle olacaktı:
SqlParameter ParamA = new SqlParameter(“@a”, System.Data.SqlDbType.Int);
MySql de ise parametre oluşturabilmek için:
MySqlParameter ParamA = new MySqlParameter(“?a”, MySqlDbType.Int32);
biçiminde bir tanımlama yapmamız gerekmekte. Bunun haricinde aynı biçimde procedure gönderilen verinin yönü (IN , OUT veya INOUT) ve parametre değeri ataması yapılmakta:
ParamA.Direction = System.Data.ParameterDirection.Input;Â //MsSql
ParamA.Value = a;
ParamA.Direction = System.Data.ParameterDirection.Input;Â // MySql
ParamA.Value = a;
MySql de değişen başka bir nesne de komut nesnesi. MySql e gönerilecek sorgunun oluşturulmasını sağlayan komut nesnesi şöyle oluşturulmaktadır:
MySqlCommand komut=new MySqlCommand(“dortislem”, baglanti);
komut.CommandType = System.Data.CommandType.StoredProcedure; //komut tipimizi de belirledik
şimdi sıra geldi procedurumuz için gerekli olan diğer iki parmetreyi tanımlayarak komut nesnemizin parametrelerine ekledikten sonra sorguyu çalıştırıp dönen veriyi ekrana basmak.
Yapmış olduğum ufak bir konsol uygulama örneğini buraya ekledim. Faydalı bir yazı olmuştur umarım.
güzel bir site, konuları da güzel seçiyorsunuz, umarım devamı gelir
çok güzel bir anlatım olmuş sade ve öz.yalnız ne eklediğin dosyada nede anlatımının ya gönderdiğin parametreleri alan stored procedure ü yazmamışsın onuda yazarsan çok makbule geçer.teşekkürler.
Yukarıdaki şekilde MySqlCommand nesnesi oluşturduktan sonra onu execute ediyorduk hatırladığım kadarı ile. Uzun zamandır uğraşmıyorum C# ile.