2. ASP.NET VERİTABANI İŞLEMLERİ
• Veri tabanı isminden de anlaşılacağı gibi birbirleriyle ilişkili
bilgilerin depolandığı alanlardır. Bilgi artışıyla birlikte
bilgisayarda bilgi depolama ve bilgiye erişim konularında yeni
yöntemlere ihtiyaç duyulmuştur. Veri tabanları; büyük
miktardaki bilgileri depolamada geleneksel yöntem olan
‘’dosya-işlem sistemine’’ alternatif olarak geliştirilmiştir.
Telefonlarımızdaki kişi rehberi günlük hayatımızda çok basit
bir şekilde kullandığımız veri tabanı örneği olarak kabul
edilebilir.
3. Access Veri Tabanına Bağlantı
• Veri tabanı bağlantısı için öncelikle veri tabanı nesne sınıfını
uygulamaya import yapmamız gerekir. Bunun için
uygulamamızın en başında bulunan kod bloğuna aşağıdaki
kodu yazmamız gerekir;
Imports System.Data
4. • Sayfa içerisinde script kodları uygulama geliştirilecek
ise ;
<%@ page language="VB"%>
<%@ Import Namespace="System.Data.Oledb" %>
<%@ Import Namespace="System.Data" %>
5. • Kodlarını yazarak gerekli sistem bileşenlerini sayfamıza
dahil edebiliriz.
• Bu işlemleri yaptıktan sonra veri tabanına bağlanmak için
kodları kullanacağız;
Dim baglan = New
OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.
4.0;data source=" & Server.MapPath("data/data.accdb"))
baglan.open()
6. • Yukarıdaki kodlamada ilk olarak veri tabanı bağlantısı
için baglan isimli değişken oluşturduk ve değişkene
OleDb.OleDbconnection sınıfına bağlayarak bağlantımızı
geçekleştiriyoruz.
• Provider : Veri tabanımı bağlanacağı sağlayıcıyı belirtiliyoruz.
• Source : Veri tabanımızın yolunu belirtiyoruz.
• Server.Mappath komutu ile veri tabanımın sanal ortamdaki
yolunu belirtiyoruz.
7. Veri tabanı Sorgulama
• Veri tabanında tabloların içindeki veriler üzerinde kayıt,
silme ve güncelleme gibi işlemleri yapabilmek için ilgili
veri tabanına sorgu gönderip çalıştırmamız gerekir. Bu
sorgulamayı yapmak için aşağıdaki kodlar kullanılır.
Dim sorgu As New OleDb.OleDbCommand
sorgu.CommandText = "Select * from kayit«
sorgu.Connection = baglan
sorgu.ExecuteNonQuery()
8. • Yukarıdaki kod satırında sorgu isimli bir değişken oluşturduk
ve bu değişkene OleDbCommand sınıfını bağladık daha
sonra sorgu değişkeninin CommandText özelliğini sorgu
cümlesini yazdık.Üçüncü kod satırında sorgu. Connection ile
sınıfa veritabanı ismini ve yolunu tanımlattık ve sorgu.
ExecuteNonQuery() komutu ile sorgumuzu çalıştırdık.
9. Tabloya Yeni Veri Girişi
• Veri tabanı işlemlerinde veri tabanına yeni kayıt işlemlerini
yukarıda anlatılan kodları kullanarak uygulayalım. Bunun
içinde Access’te yeni bir veri tabanı oluşturalım ve ismini
vt.accdb verelim.
10. • Daha sonra veri tabanı içerisinde id, ad, soyad, sinif,
numara alanlarını aşağıdaki resimde görüldüğü gibi tasarım
görünümünde oluşturup Tablo1 ismi ile tabloyu kaydedelim.
11. • Access'te oluşturduğumuz tabloyu ASP.NET'e eklemek için
Solution Explorer penceresindeki projemize faremizin sağ
tuşuyla tıklayarak Add seçeneğinden Add ASP.Net Folder
seçeneğinden App_Data seçeneğine tıklıyoruz.
12. • Projemize App_Data ekledikten Access dosyamızı
projemizin içine ekliyoruz ve sonra App_Data seçeneğine
farenin sağ tuşuyla tıklayarak Add seçeneğinden Existing
Item seçeneğinden hazırladığımız Access dosyasını
seçiyoruz.
13. • Veri tabanı ve tablomuzu oluşturduk artık bağlantı ve kayıt
işlemlerini yapacak kodlarımızı yazabiliriz. Bunun için
öncelikle sayfaya çift tıklayarak sayfa yüklendiğinde
işlenmesi gereken kodları yazalım.
Dim baglan = New
OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;data
source=" & Server.MapPath("App_Data/ data.accdb"))
baglan.Open()
Dim sorgu As New OleDb.OleDbCommand
sorgu.CommandText = "Insert Into Tablo1 (ad,
soyad,sinif,numara) values(„emre‟,‟karaca‟,‟2/B‟,‟521‟)”
sorgu.Connection = baglan
sorgu.ExecuteNonQuery()
response.write(“Kayıt Başarılı”)
14. • Yukarıdaki kod satırlarında ilk olarak veri tabanına
bağlantımızı oluşturuyoruz ve bu bağlantıyı baglanti.open ile
açıyoruz. Daha sonra sorgulama için OleDbCommand sınıfını
oluşturuyoruz ve commandText ile kayıt için gerekli Sql
komutunu yazıyoruz. Ardından sorgu cümlesini çalıştırarak
kayıt işlemini gerçekleştiriyoruz.
15. • Burada kayıt işlemini gerçekleştiren sql sorgusu bu
sorguyu açıklamak gerekirse Insert Into kelimelerinden
sonra tablo ismini, ardından parantez içinde tablodaki
alanları ve daha sonra values ile sırasıyla veri alanlarının
alacağı değerleri tek tırnak içinde tanımlıyoruz. Yani
kısaca sayfa yüklendiğinde data.mdb veritabanındaki
Tablo1 isimli tabloya emre,karaca,2/B,521 satırını
eklemiş oluyoruz.
• Şimdide bir form oluşturup formdan gelen verilerin veri
tabanına nasıl kaydedileceğini görelim. Bunun için
öncelikle Visual Studio’da bir form oluşturalım.
16. • Formu oluşturduktan sonra form elemanlarından Kaydet
butonuna çift tıklayarak aşağıdaki kodları yazıyoruz.
Dim baglan = New
OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;data source=" &
Server.MapPath("App_Data/ data.accdb "))
baglan.Open()
Dim sorgu As New OleDb.OleDbCommand
sorgu.CommandText = "INSERT INTO Tablo1(ad,soyad,sinif,numara)
VALUES('" & TextBox1.Text & "','" & TextBox2.Text & "', " & TextBox3.Text &
"', " & TextBox4.Text & "',)"
sorgu.Connection = baglan
sorgu.ExecuteNonQuery()
Response.Write("Kayıt Başarılı")
17. Tablodaki Verileri Güncelleme
• Veri tabanında bulunan tablodaki verileri güncellemek veri
tabanına bağlantı ve sorgulama kod yapısı aynı şekilde
yazılır. Sadece sorgulamanın yapıldığı SQL cümlesi
değiştirilir. Bu işlemi aşağıdaki kod satırlarında görebilirisiniz.
• Burada yaptığımız işlem sadece sorgu.CommandText koduna
eşitlenecek sql cümlesini değiştirdik.SQL ‘de UPDATE
komutu kayıtların güncellenmesini sağlar.
Dim baglanti = New OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;data
source=" & Server.MapPath("App_Data/ data.accdb "))
baglanti.Open()
Dim sorgu As New OleDb.OleDbCommand
sorgu.CommandText = "Update Tablo1 Set adi='enes' where numara='521"
sorgu.Connection = baglanti
sorgu.ExecuteNonQuery()
Response.Write("numara değeri 521 olan kayıt güncellendi")
18. Tablodaki Verileri Silme
• Veritabanında verilen bir kaydı silme işlemini yine kodlarda
sadece sql cümlesini değiştirerek gerçekleştirebiliriz.
• Burada yine güncelleme kodunda olduğu gibi sadece SQL
cümlesini değiştirdik.Bunu yaparken Delete cümlesinde where
komutu ile silinecek kaydı belirttik.
Dim baglanti = New
OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;data source=" &
Server.MapPath("App_Data/ data.accdb "))
baglanti.Open()
Dim sorgu As New OleDb.OleDbCommand
sorgu.CommandText = "Delete from Tablo1 where numara=‟521"
sorgu.Connection = baglanti
sorgu.ExecuteNonQuery()
Response.Write("numara değeri 521 olan kayıt silindi ")
19. ASP.NET Raporlama
• Raporlama masaüstü programcılığında önemli bir işleve sahip
olduğu gibi web ortamlarında da yaygın olarak
kullanılmaktadır. Rapor oluşturarak bilgileri hem baskı
ortamına aktarabilir hem de word, pdf gibi formatına
dönüştürerek bilgisayarımızda saklayabiliriz. Visual Studio ile
iki türlü rapor oluşturma seçeneği bulunmaktadır. Bunlar
Classic Report ve Crystal Report oluşturma bileşenleridir.
Classic Report ile basit manual olarak basit raporlama
yapılabilirken, Crystal Report Classic Report’a göre daha
gelişmiş seçenekler sunmaktadır. Biz bu konu başlığı altında
Crystal Report oluşturma ve sayfada görüntülenmesini
inceleyeceğiz.
20. • İlk olarak yaptığımız uygulamayı açarak Web Form1.aspx >
Add> New Item seçeneğinden Crystal Report’u projemize
ekleyebiliriz. Crystal Report’un dosya uzantısı rpt türünde
görülecektir.
21. • Add butonuna bastıktan sonra karşımıza Crystal Reports
Gallery penceresi gelecektir. Pencereden Standart kağıt
düzenini seçerek Tamam butonuna basınız.
• Daha sonra karşımıza veritabanımıza bağlantı sağlamak için
Standart Repor Oluşturma Sihirbazı penceresi gelecektir. Biz
uygulamamızda Access veritabanımıza bağlanacağız. Bunu
için açılan pencereden Yeni Bağlantı Oluştur kısmından OLE
DB seçeneğini seçiniz ve İleri butonuna tıklayınız.
22. OLE DB seçeneği tıkladığımızda karşımıza veritabanı bağlantımız
için OLE DB (ADO) penceresi gelecektir. Buradan Microsoft Office
12.0 Database Engine OLE DB Prov seçeneğini seçerek İleri
düğmesine basınız.
23. • İleri butonuna bastığımızda gelen pencereden
Access veri tabanını seçerek açalım ve Son
butonuna tıklayalım.
24. • Veritabanımızı seçtiğimize göre artık işlemimize devam
edebiliriz. Tekrardan Standart Report Creation Wizard
penceresi görünecektir. Bu sefer OLE DB (ADO) nun altında
bağlantı yaptığımız veritabanını görebiliriz. Burada veri
veritabanının altından dbo bölümünden Tablo1 isimili
tablosuyu seçerek sağ tarafa aktaralım. Sağ tarafa (Selected
Tables) çift tıklayarak geçirebiliriz.
25. • Tablomuzu seçtikten sonra İleri düğmesine basarak devam
edelim. Karşımıza ekranda hangi kolonları görmek istediğimizi
soracaktır. Tablo1 tablosundaki tüm kolonları yine seçerek
sağ tarafa geçiriniz.
• Kolonları seçtikten sonra Son butonuna basarak işlemimizi
sonlandıralım. Karşımıza CrystalReport.rpt dosyası açılacak
ve seçtiğimiz kolonlar bir düzen içerisinde yerleşmiş olacaktır.
26. Rapor oluşturma işlemlerini tamamladıktan sonra oluşturduğumuz
raporu web sayfamızda nasıl görüntüleneceğini görelim.
Raporumuzu web sayfamızda görüntülemek için ilk olarak yukarıda
veri tabanı projemizde rapor.aspx isimli bir web sayfası
oluşturmamız gerekiyor.
27. • Raporumuzu sayfada görüntülemek için rapor dosyamızın
kaynağını sayfaya aktarmamız gerekiyor. Bunun yapmak için
ToolBox Raporlama sekmesinden CrystalReportSource
nesnesini sayfanıza yerleştiririniz.
• Web sayfamıza eklediğimiz CrystalReportSource’u seçiniz.
Configure Report Source seçeneğini(sağa ok işareti)
tıklayınız. Karşımıza gelen Configure Report Source
penceresinden CrystalReport.rpt dosyamızı seçtikten sonra
Tamam butonuna basınız.
28. Raporumuzu sayfada görüntülemek için ise ToolBox reporting
sekmesinden CrystalReportView nesnesini sayfamıza yerleştiririniz.
29. • CrystalReportView nesnesindeki yan menüdeki Choose Report
Source seçeneğinden CrystalReportSource1’i seçiniz. Sayfamızı
çalıştırdığımızda nasıl bir görüntü olacağına dair bize bilgi
vermektedir.
• Yukarıdaki işlemleri yaptıktan sonra raporumuz görüntülemeye
hazır duruma gelmiş bulunmaktadır. Uygulamamızı daha işlevsel
hale getirmek için sayfada birkaç değişiklik yaparak raporunuzu
görüntüleyebilirsiniz.