18 Ocak 2011 Salı

Stored Procedure ile Geriye Değer Döndürmek

Store Procedure ümüzü oluşturuyoruz..

CREATE PROCEDURE PersonelEkle
(
@PersonelAdi NVARCHAR(50)
)
AS
BEGIN
INSERT INTO Personel (PersonelAdi) VALUES(@PersonelAdi)
Return SCOPE_IDENTITY()
END


//Şimdi c# Metodumuzu yazıyoruz.
Public int InsertPersonel()
{
using (SqlConnection sconn = new SqlConnection("VeriTabanıBaglantiYolu"))
{
sconn.Open();
using (SqlCommand scom = new SqlCommand("PersonelEkle", sconn))
{
//Komut Tipimizin Stored Procedure olucağını belirtiyoruz.
scom.CommandType = CommandType.StoredProcedure;

scom.Parameters.Add("@PersonelAdi", SqlDbType.NVarChar).Value = "Ali";
scom.Parameters.Add("@PersonelID", SqlDbType.Bit).Direction = ParameterDirection.ReturnValue;
scom.ExecuteNonQuery();
//Oluşan personel ID si alınıyor.
int personelID= Convert.ToInt32(scom.Parameters["@Sonuc"].Value);
Return personelID;
}//End using SqlCommand
}//End using SqlConnection
}//End Method

Umarım Faydalı olmuştur.