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