Makale Özeti

Merhaba arkadaşlar, bu makalemizde ASP.NET İle SQL Server üzerinde Insert, Update ve Delete işlemleri yapan Store Procedureleri oluşturup, oluşturduğumuz store procedurleri ASP.NET Projemizde kullanacağız…

Makale

Bir önceki makalemizde Bize datayı listeleyen Store Procedure oluşturup bunu ASP.NET içinde kullanmıştık. Bu makalemizde ise Ekleme, Çıkarma ve Güncelleme Store Proc. Ekleyecek ve bunu asp.net sayfalarında kullanacağız.

Insert: Tablumuza Kayıt ekliyoruz…

Not: Person.Contact Tablosuna kayıt eklemek için Allov null alanları seçili olmayan fieldları seçelim. SP’yi düzgün yazsak bile çalışmayacaktır…

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' // Bakalım Eklemişmi ?



Şimdi bu işlemi ASP.NET tarafında da yapalım…

Oluşturmuş olduğumuz projeye yeni bir sayfa ekleyelim ve sayfamız üzerine 2 textbox ve 1 button ekleyelim.

Button’un Click eventine aşağıdaki kodları yazalım;

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.StoredProcedure;

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() + " Kayıt Eklendi...");

}

catch (Exception ex)

{

Response.Write(ex.Message);

}

}



Insert işlemimizi tamamladık şimdi Update İşlemine geçebiliriz…

Update: Varolan bir kaydı 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 kayıt penguen ile değiştirildi…

Şimdi Asp.net tarafını yazalım;

Yeni Bir sayfa ekleyelim ve sayfamıza 2 textbox ve 1 button girelim. 1. textbox’a güncellenecek olan Firstname’i ve 2.textbox’ada yeni değeri gireceğiz. Buton ile de işlemi gerçekleştireceğiz. Button’un click eventine aşağıdaki kodları yazalım;

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.StoredProcedure;

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() + " Kayıt güncellendi...");

}

catch (Exception ex)

{

Response.Write(ex.Message);

}

}

Hemen test edelim;



Sp’yi test ederken Firstname’i Crystal olan kayıtları penguen ile değiştirmiştim. Şimdi yeniden eski değeri ile update etmiş oldum. 22 adet kaydın güncellendiğini görüyoruz…

Delete: Tablomuzdan kayıt siliyoruz… Store Proc. Oluşturalım…

Not: Eğer Sizde benim kullandığım gibi Person.Contact tablosunu kullanacaksanız tablo Üzerindeki Foreign keyleri kaldırın. Yoksa kayıtları 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 adın da 2 kaydı sildi..

Şimdi son olarak da bunun asp.net tarafını yapalım.

Yeni bir sayfa ekleyelim ve sayfamıza 1 textbox ve 1 button ekleyelim. Daha sonra butonun click eventine aşağıdaki kodları yazalım;

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.StoredProcedure;

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() + " Kayıt silindi...");

}

catch (Exception ex)

{

Response.Write(ex.Message);

}

}

Testimizi yapalım;



Firstname’i “Sem” olan 5 kayıt vardı ve biz bunu store procedurumuzü çalıştırarak sildik….

Bu makalenin de sonuna geldik, Başka 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