Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Web Uygulamalarında Stored Procedure Kullanımı - 2 (No Wizard)

Yazar: Sem GÖKSU

Kategori: ADO.NET & Entity Framework

Eklenme Tarihi: 22.05.2007 02:06:40

Merhaba arkadaşlar, bu makalemizde ASP.NET Ile SQL Server üzerinde Insert, Update ve Delete işlemleri yapan Stored Procedureleri olusturup, olusturdugumuz stored procedurleri ASP.NET Projemizde kullanacagiz…
Bir önceki makalemizde Bize datayi listeleyen Stored Procedure olusturup bunu ASP.NET içinde kullanmistik. Bu makalemizde ise Ekleme, Çikarma ve Güncelleme Stored Proc. Ekleyecek ve bunu asp.net sayfalarinda kullanacagiz.

Insert: Tablumuza Kayit ekliyoruz…

Not: Person.Contact Tablosuna kayit eklemek için Allov null alanlari seçili olmayan fieldlari seçelim. SP’yi düzgün yazsak bile çalismayacaktir…

Create Proc InsertPerson

@FirstName varchar(20),

@LastName varchar (20)

as

Insert Into Person.Contact (FirstName,LastName) values (@FirstName, @LastName)

Sp’mizi Test edelim..

InsertPerson 'sem','göksu' // Bakalim Eklemismi ?

Simdi bu işlemi ASP.NET tarafinda da yapalim…

Olusturmus oldugumuz projeye yeni bir sayfa ekleyelim ve sayfamiz üzerine 2 textbox ve 1 button ekleyelim.

Button’un Click eventine asagidaki kodlari yazalim;

protected void Button1_Click(object sender, EventArgs e)

{

try

{

Cnn = new SqlConnection("Data Source=localhost; Initial Catalog=AdventureWorks; trusted_connection=yes");

Cmd = new SqlCommand();

Cmd.CommandType = CommandType.StoreddProcedure;

Cmd.CommandText = "InsertPerson";

Cmd.Parameters.AddWithValue("@FirstName", TextBox1.Text);

Cmd.Parameters.AddWithValue("@LastName", TextBox2.Text);

Cmd.Connection = Cnn;

if (Cnn.State == ConnectionState.Closed) Cnn.Open();

int result = Cmd.ExecuteNonQuery();

Response.Write(result.ToString() + " Kayit Eklendi...");

}

catch (Exception ex)

{

Response.Write(ex.Message);

}

}

Insert işlemimizi tamamladik simdi Update Islemine geçebiliriz…

Update: Varolan bir kaydi güncelliyoruz…

Create Proc UpdatePerson

@ExFirstname varchar(20),

@NewFirstname varchar(20)

as

Update Person.Contact Set FirstName = @NewFirstname

where FirstName=@ExFirstname

Test edelim;

UpdatePerson 'Crystal','Penguen'

(22 row(s) affected) > 22 tane Firstname’i Crystal olan kayit person ile degistirildi…

Simdi Asp.net tarafini yazalim;

Yeni Bir sayfa ekleyelim ve sayfamiza 2 textbox ve 1 button girelim. 1. textbox’a güncellenecek olan Firstname’i ve 2.textbox’ada yeni değeri girecegiz. Buton ile de işlemi gerçeklestirecegiz. Button’un click eventine asagidaki kodlari yazalim;

protected void Button1_Click(object sender, EventArgs e)

{

try

{

Cnn = new SqlConnection("Data Source=localhost; Initial Catalog=AdventureWorks; trusted_connection=yes");

Cmd = new SqlCommand();

Cmd.CommandType = CommandType.StoreddProcedure;

Cmd.CommandText = "UpdatePerson";

Cmd.Parameters.AddWithValue("@ExFirstname", TextBox1.Text);

Cmd.Parameters.AddWithValue("@NewFirstname", TextBox2.Text);

Cmd.Connection = Cnn;

if (Cnn.State == ConnectionState.Closed) Cnn.Open();

int result = Cmd.ExecuteNonQuery();

Response.Write(result.ToString() + " Kayit güncellendi...");

}

catch (Exception ex)

{

Response.Write(ex.Message);

}

}

Hemen test edelim;

Sp’yi test ederken Firstname’i Crystal olan kayitlari penguen ile degistirmistim. Simdi yeniden eski değeri ile update etmis oldum. 22 adet kaydin güncellendigini görüyoruz…

Delete: Tablomuzdan kayit siliyoruz… Stored Proc. Olusturalim…

Not: Eger Sizde benim kullandigim gibi Person.Contact tablosunu kullanacaksaniz tablo Üzerindeki Foreign keyleri kaldirin. Yoksa kayitlari silemeyeceksiniz.

create proc DeletePerson

@Firstname varchar(20)

as

Delete from Person.Contact

where FirstName = @Firstname

SP’yi test edelim…

DeletePerson 'Gustavo'

(2 row(s) affected) > Gustavo adin da 2 kaydi sildi..

Simdi son olarak da bunun asp.net tarafini yapalim.

Yeni bir sayfa ekleyelim ve sayfamiza 1 textbox ve 1 button ekleyelim. Daha sonra butonun click eventine asagidaki kodlari yazalim;

protected void Button1_Click(object sender, EventArgs e)

{

try

{

Cnn = new SqlConnection("Data Source=localhost; Initial Catalog=AdventureWorks; trusted_connection=yes");

Cmd = new SqlCommand();

Cmd.CommandType = CommandType.StoreddProcedure;

Cmd.CommandText = "DeletePerson";

Cmd.Parameters.AddWithValue("@Firstname", TextBox1.Text);

Cmd.Connection = Cnn;

if (Cnn.State == ConnectionState.Closed) Cnn.Open();

int result = Cmd.ExecuteNonQuery();

Response.Write(result.ToString() + " Kayit silindi...");

}

catch (Exception ex)

{

Response.Write(ex.Message);

}

}

Testimizi yapalim;

Firstname’i “Sem” olan 5 kayit vardi ve biz bunu Stored procedurumuzü çalistirarak sildik….

Bu makalenin de sonuna geldik, Baska bir makalede görüşmek üzere başarı ve iyi günler dilerim.

Sem GÖKSU
MCP | MCAD.NET | MCTS

Örnek Kodlar için mail adresimi kullanabilirsiniz
semgoksu@semgoksu.com

Kaynaklar
http://msdn.com

Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.