Herkese merhabalar;
Bu yazımda elimden geldiğince Stored Procedure lerin SQL Server üzerinde ve ASP.net ile kullanımını anlatacağım.
Stored Procedures Nedir ?
Öncelikle şöyle başlayalım. “Stored procedures” T-SQL ifadelerinden oluşur ve SQL Server üzerinde tutulurlar. Stored Procedure kullanmanın avantajları hızlı ve bence en önemlisi güvenli olmasıdır. Hızlı olmasının sebebi yazılan prosedürün sadece ilk çağırıldığında derlenmesinden dolayıdır. Sonraki çağırılmaları için tekrar tekrar derlenmezler. Bu da bizlere hız açısından büyük avantaj sağlamaktadır.
Bir örnekle SQL Server üzerinde kullanımını inceleyelim…
Bu tablomuzun adı test olsun.

Bir store procedure yazalım ve bu tablodaki öğrencilerden notu 50 ve üzeri olanları bize göstersin.
Create proc PassedStudents
As
Select name,surname from test where grade >= 50
Prosedürümüzü oluşturduk. Şimdi çalıştıralım ve sonucu görelim.

Prosedürümüzü çalıştırdıktan sonra notu 50 ve üzeri olan öğrenciler listelendi.
İçinde bir değişken tanımlayacağımız ve bu değişkene bağlı bir sorgu yazacağımız yeni bir prosedür tanımlayalım.
Create proc GetStudent
@LastName varchar(50)
As
Select name,surname from test where surname = @LastName
Prosedürümüzü oluşturduk. Bizim yollayacağımız değere göre sorgulama yapılacaktır.
Çalıştıralım…
exec GetStudent ’yılmaz’
Soyadı “yılmaz” olan kayıt listelendi.

Bu örnekte de görüldüğü gibi stored procedure lerimize parametre göndererek işlem yapabiliriz.
Şimdi de parametre göndererek tablomuza kayıt ekleyelim.
Yeni bir prosedür oluşturalım.
Create proc AddStudent
@name varchar(50),
@surname varchar(50),
@grade int
As
Insert into test(name,surname,grade) values(@name,@surname,@grade)
Prosedürümüzü yazdık. Şimdi parametre göndererek tablomuza veri ekleyelim.
exec ‘Selcuk’,’Atilgan’,70
Görüldüğü gibi tablomuza yeni bir kayıt ekledik.

Şimdi de SQL Server üzerinde yaptığımız bu işlemi bir ASP.net projesi içerisinde kullanalım…

Ekranda gördüğümüz şekilde formumuzu oluşturduk.
Butonumuzun click event ine aşağıdaki kodlarımızı yazalım.
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Try
strConnection = ConfigurationManager.AppSettings(“ConnectionString”)
connection = New SqlConnection(strConnection)
cmd = New SqlCommand()
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = “AddStudent”
cmd.Parameters.AddWithValue(“@name”, TextBox1.Text)
cmd.Parameters.AddWithValue(“@surname”, TextBox2.Text)
cmd.Parameters.AddWithValue(“@grade”, TextBox3.Text)
cmd.Connection = connection
If connection.State = ConnectionState.Closed Then
connection.Open()
End If
Dim output = cmd.ExecuteNonQuery
Response.Write(output & “New Student Succesfully Added !”)
Catch ex As Exception
Response.Write(ex.ToString)
End Try
End Sub
Kodlarımızı yazdık. Şimdi bir deneme yapalım , yeni bir öğrenci ekleyelim…

Yeni öğrenci bilgilerini yazdık ve save butonumuza tıkladık.


Test adlı tablomuza baktığımızda girdiğimiz kaydın eklendiğini görüyoruz.
Prosedürümüzün yapısını değiştirerek update, delete gibi işlemler de de kolaylıkla kullanabiliriz.
Elimden geldiğince sade ve basit bir şekilde Stored Procedure leri anlatmaya çalıştım. Umarım okuyanlara faydalı olur. Sorularınız için sitemin iletişim kısmındaki e-posta adresimden bana ulaşabilirsiniz.