06 Oct

C# ile MySql de Stored Procedure Çalıştırmak

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.