Asp.NET ve Sql Procedure Kulanımı

Hazırlanan web sitelerinin %90’lık bir bölümü artık dinamik,veritabanıyla bağlantılı sitelerdir.Hazırladığımız sitelerde yapıya göre değişiklik gösteren veritabanıda her projeyle birlikte değişmektedir.Yazdığımız komutlar projeyi her çalıştırmamızda veritabanına gönderilir ve dönen değer bize geri gönderilir.Yani sorgu sayısı arttıkçı projenin çalışma hızı da aynı oranda azalacaktır.

Bu işlemleri projemizde komutlar yazmak yerine bu işlemleri gerçekleştirecek Procedure’ler oluşturursak her seferinde site üzerinde yeni bir sorgu çalıştırmak zorunda kalmayız.Ayrıca yazdığımız bir Procedure’u diğer projelerimizde de kolaylıkla kullanabiliriz.Ayrıca bir proje için hata denetimi ve geliştirilebilmesi için de en pratik ve gerekli yöntemdir.Sistem üzerinde yapıcağımız güncellemeler için sadece gerekli Procedure’u güncellememiz yetecektir.Aksi takdirde proje üzerinde ki tüm komutları güncellememiz gerekecektir.

Stored procedure’lerin genel yapısı şu şekildedir;

CREATE PROCEDURE prosedürAdı ( degiskenler,parametreler )
Ek Bilgiler
BEGIN
yazılacak komutlar
END;

Mssql veritabanı oluşturduktan sonra User adında bir tablo oluşturduk.

Daha sonra Programmability ve ardından Stored Procedure ‘e sağ tıklıyoruz New Stored Procedure diyerek açılan penceredeki açıklama satırlarını siliyoruz ve procedurumuzu yazmaya başlıyoruz.

CREATE PROCEDURE AddUser
(
@Name VARCHAR(10),
@Surnamevarchar(10),
@City VARCHAR(10),
@Age INT
)
AS
BEGIN
INSERT INTO USER VALUES(@Name,@Surname,@City,@Age)
END
GO
EXECUTE AddUser 'Salih','Uluköylü','İstanbul',24

Yukarıdaki kodları açıklayalım.AddUser isminde bir Procedure oluşturduk.Parantez içerisinde Procedur’e göndereceğimiz değişkenleri / Parametreleri belirledik.Begin – End arasına Ekleme işlemlerini gerçekleştirecek olan Sql Komutumuzu yazdık. Sorgunun en sonunda Executa komutunda ise procedure ile ekleyeceğimiz değerlier parametre olarak gönderdik.Bu procedur çalıştığında aynı anda kayıt ekleme işlemide gerçekleştirilecektir.F5’e basarak Procedurumuzu kaydedebiliriz. Programmability kısmında Stored Procedure üzerine sağa tıklayarak Execute Stored Procedure diyoruz ve ve Procedurumuzu çalıştırarak kayıt ekleme işlemini tamamlıyoruz.Tabloyu kontrol ettiğinizde kayıt ekleme işleminin gerçekleştiğini göreceksiniz.

Oluşturduğumuz bu procedur’e Asp.NET ile parametre gönderek procedurumuzu çalıştıralım. Öncelikle Projemize aşağıdaki kütüphaneleri ekliyoruz

using System.Data.SqlClient;
using System.Data;

Ekle butonunun içerisinde çalışacak kodlar aşağıdaki gibidir.

protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection bağlantı = new SqlConnection("Data Source=.;Initial Catalog=yorumlar;");
SqlCommand Command= new SqlCommand("AddUser", Connection);
Command.CommandType = CommandType.StoredProcedure;
Command.Parameters.Add("@Name", SqlDbType.VarChar).Value = TextBox1.Text;
Command.Parameters.Add("@Surname", SqlDbType.VarChar).Value = TextBox2.Text;
Command.Parameters.Add("@City", SqlDbType.Text).Value = TextBox3.Text;
Command.Parameters.Add("@Age", SqlDbType.Int).Value = Convert.ToInt32(TextBox4.Text);
Command.Connection.Open();
Command.ExecuteNonQuery();
Command.Connection.Close();
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir