Öncelikle bir adet form uygulaması açalım ve 4 adet textbox ve birer tane datetimepicker ile buton ekleyelim. ilk olarak kullanacağımız SP'yi yazalım. Kayıt ekleyeceğimiz SP şu şekilde olacak:
CREATE PROCEDURE sp_uye_ekle
@UyeAdi nvarchar(50),
@UyeSoyadi nvarchar(50),
@UyeTel nvarchar(50),
@UyeMail nvarchar(50),
@Baslangic_Tarihi datetime
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO UyeTablosu
VALUES(@UyeAdi, @UyeSoyadi, @UyeTel, @UyeMail, @Baslangic_Tarihi)
END
Gördüğünüz gibi dışarıdan ad, soyad, telefon, mail ve kayıt tarihini alıyoruz. ID otomatik artan olduğu için burada kullanmadık. Execute deyip derliyoruz SP'mizi. Bir önceki yazımda buna değinmiştim. Şimdi gelelim bunu C# içerisinde nasıl kullanacağımıza, ilk olarak global değişken olarak bağlantı ve komut nesnelerimiz tanımlıyoruz.
SqlConnection baglanti = new SqlConnection();
SqlCommand komut = new
SqlCommand();
Daha sonra ise Form_Load kısmına ConnectionString ifademizi yazıp bağlantımızı açıyoruz arkasından.
baglanti.ConnectionString = "……"; //ConnectionString ifademiz gelecek buraya
baglanti.Open();
Butonumuzun click event'ına gelelim şimdi, kodlarımız şu şekilde:
komut.Connection = baglanti;
komut.CommandType = CommandType.StoredProcedure;
komut.CommandText = "sp_uye_ekle";
komut.Parameters.Add("@UyeAdi",
adTXT.Text);
komut.Parameters.Add("@UyeSoyadi",
soyadTXT.Text);
komut.Parameters.Add("@UyeTel",
telTXT.Text);
komut.Parameters.Add("@UyeMail",
email);
komut.Parameters.Add("@Baslangic_Tarihi", Convert.ToDateTime(dateTimePicker1.Value.ToShortDateString()));
komut.ExecuteNonQuery();
komut.Parameters.Clear();Burada dikkat edeceğimiz noktalar ise komut değişkenimizin tipini Stored Procedure olarak belirtmemiz, CommandText kısmına SQL sorgusu yerine SP'mizin adını yazmak, parametrelerimizi eklerken tiplerine dikkat etmek ve son olarak da parametrelerimizi Clear ile temizlemek, yoksa daha sonra tekrar SP'yi çalıştıracağımızda hatalar ile karşılaşıyoruz.
Store Procedure oluşturmayı ve bir uygulama içinde kullanmayı öğrenmiş olduk. Entity framewok yada LinQ ile uğraşanlar bu şekilde ConnectionString yazmayı sevmezler :) Bir sonraki yazımda Entity Framewoka giriş yapacağım bende. Daha sonra Entity Framework içinde de Store Procedure nasıl kullanılır değineceğiz. Herkese iyi çalışmalar :)
Hiç yorum yok:
Yorum Gönder