8 Haziran 2012 Cuma
Veritabanı Bağlantısında Store Procedure kullanımı
Merhaba arkadaşlar.Programlamanın en gözde konularından birisi "veritabanı bağlantısını" nın ufak bi örneğini göstereceğim sizlere.Command nesnesinde çoğumuz şimdiye kadar sql cümleciği görmüşüzdür "select *from uyeler" v.b şeklinde.Tabi bu başlangıç sürecinde kullanılan bi yöntem ancak zamanla uzmanlaştıkça store procedure kullanıldığını farketceksiniz ve sizde programlarınızda store procedurlere yer vereceksiniz.Sizlere Store procedure kullanmanın faydasını iki cümle iki izah etmek istiyorum. Store procedurler Sql serverımızda yazdığımız sql fonksiyonları diyebiliriz. Store procedurların en önemli özelliği yazıldıktan sonra bir kez derlenip sonra istediğimiz zaman çağırabiliyo olmamızdır.Zaten asıl önemi de derlenmiş olmasından geliyo.Çünkü programlarımıza hız kazandırıyo. e zaten hız bizim için en önemli kıstaslardan biri değil miydi? O zaman şimdi kodu inceleyelim ve sağındaki açıklamalarını dikkatlice okuyalım.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
namespace deneme
{
public partial class insrt : System.Web.UI.Page
{
SqlConnection cnn = new SqlConnection("server=localhost; Database=abc; uid=sa; pwd=1"); // DB ile bağlantı kurduk ve gerekli parametreleri girdik
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnekle_Click(object sender, EventArgs e)
{
try
{
cnn.Open(); // Öncelikle veriyle işlem yapmak için bağlantımızı açıyoruz.
//cmd nesnesi oluşturmadan bi sonraki basamaktada açabilirdik. sırası çok mühim değil
SqlCommand cmd = new SqlCommand("ekle", cnn); // command nesnesini oluşturduk ve ve ekle isimli store procedure müzü sql cümleciğini yazdığımız yere yazdık.
cmd.CommandType = CommandType.StoredProcedure; // command tipimizi storeprocedure olarak belirttik
cmd.ExecuteNonQuery(); //Sorgumuz geriye sonuç döndürmeyeceğinden cmd nesnemizi executenonquery() ile çalıştırıyoruz
}
catch
{
lbluyari.Text = "bağlantıda sorunvar"; // try bloğu çalışmazsa catch bloğu devreye girecek.
profesyonel programlama hataları gözardı etme ve bunun için gerekli kodlamayı yapar
}
finally
{
cnn.Close(); // son olarak bağlantımızı kapatıyoruz. Kesinlikle açık bırakmayalım.
}
}
}
}
Kodumuzda kullandığımız ekle store proceduru :
create procedure ekle
{
@yazaradi nvarchar(50),
@kitapadi nvarchar(50)
}
as
insert into yazarlar(yazaradi,kitapadi) values(@yazaradi, @kitapadi)
şeklinde olacaktır arkadaşlar. Bir sonraki blogda görüşmek dileğiyle hoşçakalın....
Kaydol:
Kayıt Yorumları (Atom)
kod çalışıyo ama eksik var gibi geldi bana
YanıtlaSil