Merhaba;
sql tarafında oluşturmuş olduğunuz bir prosedürünüz varsa ve bu prosedürün içerisindeki değerlere asp.net tarafından ulaşmak istiyorsanız aşağıdaki adımları izlemeniz yeterli olacaktır.
sql'de prosedür parametrelerinden değer alabilmek için öncelikle o parametrelerin(yani değişkenlerin) OUTPUT(Türkçe anlamı "çıkış" tır) olarak tanımlanmış olması gerekir ki bu işlem şu şekilde olur;
@değişken_adı tipi(size değeri) output
sql prosedürleri standartta geriye yanlızca int değer döndürebilirler bu nedenle return ifadesi ile int olmayan bi değeri elde edebilmeniz mümkün değildir.Bunu aşmanın yoluda değerini almak istediğiniz parametrenizi output olarak tanımlamanız gerekmektedir.İsterseniz gelin şimdi beraber ufak bir örnek yapalım ve 2 stringi birleştiren ve bize sonucu döndüren bir stored procedure yazalım.
SQL kodumuz;
ASP.NET Tarafında sp içerisinde tanımladığımız sonuç değişkeninin içeriğine ;
işlem bu kadar arkadaşlar. cmd.Parameters["@sonuc "].Value komutu bizlere prosedürümüz içerisindeki sonuc değişkeninin değerini döndürür.
sql tarafında oluşturmuş olduğunuz bir prosedürünüz varsa ve bu prosedürün içerisindeki değerlere asp.net tarafından ulaşmak istiyorsanız aşağıdaki adımları izlemeniz yeterli olacaktır.
sql'de prosedür parametrelerinden değer alabilmek için öncelikle o parametrelerin(yani değişkenlerin) OUTPUT(Türkçe anlamı "çıkış" tır) olarak tanımlanmış olması gerekir ki bu işlem şu şekilde olur;
@değişken_adı tipi(size değeri) output
@sonuc nvarchar(50) output
sql prosedürleri standartta geriye yanlızca int değer döndürebilirler bu nedenle return ifadesi ile int olmayan bi değeri elde edebilmeniz mümkün değildir.Bunu aşmanın yoluda değerini almak istediğiniz parametrenizi output olarak tanımlamanız gerekmektedir.İsterseniz gelin şimdi beraber ufak bir örnek yapalım ve 2 stringi birleştiren ve bize sonucu döndüren bir stored procedure yazalım.
SQL kodumuz;
USE [firma_rehberi] CREATE PROCEDURE [dbo].[sp_isimdondur](@str1 nvarchar(50),@str2 nvarchar(50),@sonuc nvarchar(50) output) AS set @sonuc=@str1+@str2
ASP.NET Tarafında sp içerisinde tanımladığımız sonuç değişkeninin içeriğine ;
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString); SqlCommand cmd = new SqlCommand(); con.Open(); cmd.Connection = con; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "sp_StringDondur"; cmd.Parameters.Add("@kelime1", SqlDbType.NVarChar,50); cmd.Parameters["@kelime1"].Value = 'an'; cmd.Parameters.Add("@kelime2", SqlDbType.NVarChar,50); cmd.Parameters["@kelime2"].Value = 'kara'; cmd.Parameters.Add("@sonuc ",SqlDbType.NVarChar,50); cmd.Parameters["@sonuc "].Direction = ParameterDirection.Output; cmd.ExecuteNonQuery(); Response.Write(cmd.Parameters["@sonuc "].Value.ToString());
işlem bu kadar arkadaşlar. cmd.Parameters["@sonuc "].Value komutu bizlere prosedürümüz içerisindeki sonuc değişkeninin değerini döndürür.
Yorumlar
Yorum Gönder