Bolu Beyi tarafından yazıldı Ocak - 17 - 2012 0 Yorum

SQL Stored Procedure'lerde Veri EklemeUzun bir aradan sonra SQL Server’da Procedure ile devam ediyorum. Procedure’leri kısaca özetlemek gerekirse, veri ekleme, veri silme gibi işlemlerin komutlarını visual studio’ya yazmayıp, dire SQL’in içine yazıyorsunuz. Bu şekilde program sadece 1 kere derlenip çalışıyor ve daha fazla performans sağlıyor. Tabi birkaç kişinin kullanabileceği programlarda stored procedurelere ihtiyaç duyulmayabilir, fakat binlerce kişinin kullanacağı, web applicationlar için stored procedure kullanmak daha mantıklı olacaktır. Şimdi, daha öncede paylaştığım örnekler üzerinden gideceğim, yani personel bilgileri ekleyen programı yazacağız. Hemen bu paragrafın altındaki kodlar bildiğiniz üzere visual studio da ekle botununun click eventine yazılıyor. Tek bir farkı var belirttiğim gibi, INSERT komutunu burada değil, SQL’de yazıyoruz. SQL’de “PERSONEL_EKLE” adında oluşturduğumuz stored procedure ü “EXEC” komutu ile çağırıyoruz. (Sanırım “execute” kelimesinden geliyor.) Bu kod bloğunun altında da SQL’de yazacağımız komutları yazdım. Benim paylaştığım bu komutlar SQL’de derlenmiş hali. Yani siz procedure oluştururken, “CREATE PROCEDURE” diye oluşturacaksınız. Daha sonra execute ettiğinizde kendisi otomatik olarak “ALTER PROCEDURE” yazacak. Buyrun kodlar:

string sorgu;
string selectkomut;
sorgu = “EXEC PERSONEL_EKLE ‘” + ad_text.Text + “‘,'” + soyad_text.Text + “‘,'” + tel_text.Text + “‘,'” + eposta_text.Text + “‘,'” + adres_rich.Text + “‘,” + maas_text.Text + “,'” + tcno_text.Text + “‘,'” + dateTimePicker2.Value.Year.ToString() + dateTimePicker2.Value.Month.ToString() + dateTimePicker2.Value.Day.ToString() + “‘,'” + il_text.Text + “‘,'” + web_text.Text + “‘,'” + anaadi_text.Text + “‘,'” + babaadi_text.Text + “‘,'” + dogumyeri_text.Text + “‘,'” + ilce_text.Text + “‘,” + avans_text.Text + “,'” + aktifpasif_text.Text + “‘,'” + izinler_text.Text + “‘”;
selectkomut = PersonelTBL;
if (sqlKomut(sorgu, selectkomut, dataGridView1) > 0)
MessageBox.Show(“veriler başarıyla eklendi…”);
else
MessageBox.Show(“veriler eklenemedi..!”);

 

USE [Bolubeyi.Net]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[PERSONEL_EKLE] @AD NVARCHAR(50), @SOYAD NVARCHAR(50), @TEL NVARCHAR(50), @EPOSTA NVARCHAR(50), @ADRES NVARCHAR(500), @MAAS DECIMAL(18,2), @TCNO NVARCHAR(50), @DOGUMTARIHI DATE, @IL NVARCHAR(50), @WEB NVARCHAR(50), @ANAADI NVARCHAR(50), @BABAADI NVARCHAR(50), @DOGUMYERI NVARCHAR(50), @ILCE NVARCHAR(50), @AVANS DECIMAL(18,2), @AKTIFPASIF CHAR(10), @IZINLER NVARCHAR(50)
AS
BEGIN
INSERT INTO PERSONEL(AD, SOYAD, TEL, EPOSTA, ADRES, MAAS, TCNO, DOGUMTARIHI, IL, WEB, ANAADI, BABAADI, DOGUMYERI, ILCE, AVANS, AKTIFPASIF, IZINLER) VALUES(@AD, @SOYAD, @TEL, @EPOSTA, @ADRES, @MAAS, @TCNO, @DOGUMTARIHI, @IL, @WEB, @ANAADI, @BABAADI, @DOGUMYERI, @ILCE, @AVANS, @AKTIFPASIF, @IZINLER)
END

SQL Server’da stored procedure ile veri ekleme işlemi bu kadar. Sorularınız olursa yorum olarak sorabilirsiniz. Kolay gelsin…

Yorumlar kapalı.