Sql fonksiyonlarını C# tarafında kullanma

Beynimin uyuşmasına rağmen, basit bir konuyu sabahın 01:00 sularında yazıp paylaşmak istedim. Anlatmak istediklerimi anlamaya çalışın lütfen. Senaryo şöyle gelişti; veritabanın da bulunan tablodaki id’nin en büyük değerini görsel yani ADO.NET ile C# tarafında göstermek istedim. Veritanında tablodaki en büyük sayıyı, değeri bulabilmek için MAX fonksiyonu kullandım ama olmadı. Şöyle ki;

[stextbox id=”info”]Sql herhangi bir tablodaki kolonun en büyük değeri bulma[/stextbox]
[cc lang=”sql”]Select MAX(id) from tablom[/cc]

Bu sorgu ile tablom tablosunda id kolonunda en büyük id değerini alırız. İşte bu değeri C# tarafında gösterebilmek için SqlCommand cmd = new SqlCommand(“Select MAX(id) from tablom”) deyip lak diye yerleştiremeyiz, çünkü çalışmaz, neden çalışmadığının hikayesine şimdi giremeyeceğim. Bu sorgu sonucunu C# tarafında alabilmek için Output parametreli Stored Procedure ihtiyacımız olacaktır. Şöyle bir procedure oluşturarak ;

[stextbox id=”info”]Output parametreli Stored Procedure oluşturma[/stextbox]
[cc lang=”sql”]create proc sp_enbuyukid (@sonid int output)
as
begin
select @sonid=MAX(id) from tablom
end[/cc]

@sonid geri gelen parametre ile C# tarafında procedure sonucunu gösterebiliriz. Şimdi siz bunun C# tarafında nasıl gösterilir diye soracak olursanız, formunaza veya web projesi sayfanıza bir Label koyup Page_Load veya Form_Load kısmana dalarak göstere bilirim;

[stextbox id=”info”]Output parametreli Stored Procedure’ü C# tarafında bağlama[/stextbox]
[cc lang=”c#”]SqlConnection sql = new SqlConnection(“server=.; database=veritabanim; trusted_connection=true;”);

SqlCommand cmd = new SqlCommand();
cmd.Connection = sql;

cmd.CommandText = “sp_enbuyukid”;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(“@sonid”, SqlDbType.Int);
cmd.Parameters[“@sonid”].Direction = ParameterDirection.Output;

sql.Open();
cmd.ExecuteNonQuery();

try
{
Label1.Text = cmd2.Parameters[“@sonid”].Value.ToString();

}
catch (Exception)
{

Label1.Text = “Hata!!!”;
}

sql.Close();[/cc]

Bu şekilde bir müdahale ile sql fonksiyonlarını benzer şekilde c# tarafında kullana bilirsiniz. Laubali anlatımdan dolayı özür borçluyum…

“Sql fonksiyonlarını C# tarafında kullanma” için bir yorum

  1. Yok hacı sen alnlat laubali olsun farketmez yeterki ögrenelim.
    HAtta normal Anlatma hep Laubali Alnlat okuması daha guzel oluuyor

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir