6 Nisan 2007 Cuma

GridView ile SQL Server 2005 deki tabloları sayfalama

ASP.NET 2.0 ile yaptığım bir örneği sizinle paylaşmak istiyorum.

Bu örnek sonucunda bir tablodaki datalar ile listeleme, sayfalama, sıralama, detay bilgilerine ulaşmayı yapabileceksiniz. Elbetteki bu konuda ASP.NET 2.0 ' ın sunduğu özellikleri kullanacağız ve pratik tarafı örneğimizi neredeyse hiç kod yazmadan yapacağız.

Geliştirme ortamı olarak Microsoft' dan ücretsiz olarak indiribileceğimiz Visual Web Developer Express Edition ve SQL Server 2005 Express edition sp1 kullandım.

Şimdi örneğimize geçelim.
Önce kullanacağımız tabloyu oluşturalım


CREATE TABLE person(
id integer NOT NULL,
ad varchar(70),
soyad varchar(70),
dogum_tarihi datetime,
dogum_yeri varchar(70),
meslek varchar(70),
evtel varchar(10),
ceptel varchar(10),
PRIMARY KEY (id)
);


Projemizde kullanacağımız default.aspx, liste.aspx ve kayit.aspx sayfaları ile bunların behinde kod dosyalarını oluşturuyoruz. Son olarak kullanacağımız Database.mdf yi de ekliyoruz.
ve tablomuzu create ediyoruz. Daha sonra insert, update, delete, select procedurelerimizi yazacağız.

script:


/*****************************************/

create procedure sp_insert_person
@id integer not null ,
@ad varchar(70),
@soyad varchar(70),
@dogum_tarihi datetime,
@dogum_yeri varchar(70),
@meslek varchar(70),
@evtel varchar(10),
@ceptel varchar(10),
as
insert into person (id,ad,soyad,dogum_tarihi,dogum_yeri, meslek, evtel, ceptel)
values (@id,@ad,@soyad,@dogum_tarihi,@dogum_yeri,@meslek,@evtel,@ceptel);

/****************************************/

create procedure sp_select1_person
as
select id, ad, soyad soyad from person

/****************************************/


create procedure sp_select2_person
@id integer
as
select * from person
where id=@id


/****************************************/

create procedure sp_delete_person
@id integer
as
delete from person where id=@id

/****************************************/

create procedure sp_update_person
@id integer,
@ad varchar(70),
@soyad varchar(70),
@dogum_tarihi datetime,
@dogum_yeri varchar(70),
@meslek varchar(70),
@evtel varchar(10),
@ceptel varchar(10)
as
update person set ad=@ad,soyad=@soyad,dogum_tarihi=@dogum_tarihi,dogum_yeri=@dogum_yeri, meslek=@meslek, evtel=@evtel, ceptel=@ceptel
where id=@id

/****************************************/


Biliyorsunuz ASP.net 2.0 gelen bir özellik olarak App_Data dizini altına veritabanımızı ekleyip rahatça kullanabilyoruz. DB'yi SqlServer a register etmekte gerekmiyor.


Procedurelerimizi yazdığımıza göre geri sadece sayfaya koyacağımız kontrol ve bu kontrolleri dbye bağlamak kalıyor. ASP.NET 2.0' ın güzellikleri burda başlıyor.

şimdi liste.aspx dosyamıza 1 SqlDataSource ve Gridview kontrolü ekleyelim.

SqlDataSource kontrolünü ekledikten sonra Configure Data Source linkine tıklıyoruz. ve
karşıma çıkan ekran oluşturduğum Database.mdf dosyasını seçiyoruz. ileriki aşamada bu bağlantıyı kullanabilmek için yaptığımı database bağlantısını ConnectionString değişkenine atayıp bu bağlantının Web.Config'e kaydedilerek bütün proje tarafından kullanılmasını sağlayacağız.


Bu kısımda otomatik eklenmiş id fieldi silip onun yerine bir HyperLinkField ekliyoruz.
eklediğimiz HyperLinkField yine aynı işi yapıp aynı değeri ekrandan gösterecek bir farkla. ekledğimiz bu field ile her bir satıra bir link verebileceğiz.


Bu aşamada GridView1 kontrolünün auto format özelliği ile görünümü değiştirebilirsiniz.
böylece grid görünümlü liste kısmını bitirmiş olduk. ve herbir ID için örneğim kayit.aspx?id=2 değerini link olarak satırlara ekledik.


Kayıt.aspx için sayfası içiden yine SqlDataSource kontrolü ve DetailView kontrol ekliyoruz.
SqlDataSource için aynı ConnectionStringi seçip SP bağlantılarımı yapıyoruz. tek farkla bu kez select procedure sp_select2_person olacak.




Hiç yorum yok:

Yorum Gönder