2. ASP.NET VER聴TABANI 聴LEMLER聴
Veri taban脹 isminden de anla脹laca脹 gibi birbirleriyle ilikili
bilgilerin depoland脹脹 alanlard脹r. Bilgi art脹脹yla birlikte
bilgisayarda bilgi depolama ve bilgiye eriim konular脹nda yeni
y旦ntemlere ihtiya巽 duyulmutur. Veri tabanlar脹; b端y端k
miktardaki bilgileri depolamada geleneksel y旦ntem olan
dosya-ilem sistemine alternatif olarak gelitirilmitir.
Telefonlar脹m脹zdaki kii rehberi g端nl端k hayat脹m脹zda 巽ok basit
bir ekilde kulland脹脹m脹z veri taban脹 旦rnei olarak kabul
edilebilir.
3. Access Veri Taban脹na Balant脹
Veri taban脹 balant脹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 blouna aa脹daki
kodu yazmam脹z gerekir;
Imports System.Data
4. Sayfa i巽erisinde script kodlar脹 uygulama gelitirilecek
ise ;
<%@ page language="VB"%>
<%@ Import Namespace="System.Data.Oledb" %>
<%@ Import Namespace="System.Data" %>
5. Kodlar脹n脹 yazarak gerekli sistem bileenlerini sayfam脹za
dahil edebiliriz.
Bu ilemleri yapt脹ktan sonra veri taban脹na balanmak 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脹 balant脹s脹
i巽in baglan isimli deiken oluturduk ve deikene
OleDb.OleDbconnection s脹n脹f脹na balayarak balant脹m脹z脹
ge巽ekletiriyoruz.
Provider : Veri taban脹m脹 balanaca脹 salay脹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 ilemleri yapabilmek i巽in ilgili
veri taban脹na sorgu g旦nderip 巽al脹t脹rmam脹z gerekir. Bu
sorgulamay脹 yapmak i巽in aa脹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 deiken oluturduk
ve bu deikene OleDbCommand s脹n脹f脹n脹 balad脹k daha
sonra sorgu deikeninin CommandText 旦zelliini 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 Girii
Veri taban脹 ilemlerinde veri taban脹na yeni kay脹t ilemlerini
yukar脹da anlat脹lan kodlar脹 kullanarak uygulayal脹m. Bunun
i巽inde Accesste yeni bir veri taban脹 olutural脹m ve ismini
vt.accdb verelim.
10. Daha sonra veri taban脹 i巽erisinde id, ad, soyad, sinif,
numara alanlar脹n脹 aa脹daki resimde g旦r端ld端端 gibi tasar脹m
g旦r端n端m端nde oluturup Tablo1 ismi ile tabloyu kaydedelim.
11. Access'te oluturduumuz tabloyu ASP.NET'e eklemek i巽in
Solution Explorer penceresindeki projemize faremizin sa
tuuyla t脹klayarak Add se巽eneinden Add ASP.Net Folder
se巽eneinden App_Data se巽eneine t脹kl脹yoruz.
12. Projemize App_Data ekledikten Access dosyam脹z脹
projemizin i巽ine ekliyoruz ve sonra App_Data se巽eneine
farenin sa tuuyla t脹klayarak Add se巽eneinden Existing
Item se巽eneinden haz脹rlad脹脹m脹z Access dosyas脹n脹
se巽iyoruz.
13. Veri taban脹 ve tablomuzu oluturduk art脹k balant脹 ve kay脹t
ilemlerini yapacak kodlar脹m脹z脹 yazabiliriz. Bunun i巽in
旦ncelikle sayfaya 巽ift t脹klayarak sayfa y端klendiinde
ilenmesi 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 Baar脹l脹)
14. Yukar脹daki kod sat脹rlar脹nda ilk olarak veri taban脹na
balant脹m脹z脹 oluturuyoruz ve bu balant脹y脹 baglanti.open ile
a巽脹yoruz. Daha sonra sorgulama i巽in OleDbCommand s脹n脹f脹n脹
oluturuyoruz ve commandText ile kay脹t i巽in gerekli Sql
komutunu yaz脹yoruz. Ard脹ndan sorgu c端mlesini 巽al脹t脹rarak
kay脹t ilemini ger巽ekletiriyoruz.
15. Burada kay脹t ilemini ger巽ekletiren 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脹 deerleri tek t脹rnak i巽inde tan脹ml脹yoruz. Yani
k脹saca sayfa y端klendiinde data.mdb veritaban脹ndaki
Tablo1 isimli tabloya emre,karaca,2/B,521 sat脹r脹n脹
eklemi oluyoruz.
imdide bir form oluturup formdan gelen verilerin veri
taban脹na nas脹l kaydedileceini g旦relim. Bunun i巽in
旦ncelikle Visual Studioda bir form olutural脹m.
16. Formu oluturduktan sonra form elemanlar脹ndan Kaydet
butonuna 巽ift t脹klayarak aa脹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 Baar脹l脹")
17. Tablodaki Verileri G端ncelleme
Veri taban脹nda bulunan tablodaki verileri g端ncellemek veri
taban脹na balant脹 ve sorgulama kod yap脹s脹 ayn脹 ekilde
yaz脹l脹r. Sadece sorgulaman脹n yap脹ld脹脹 SQL c端mlesi
deitirilir. Bu ilemi aa脹daki kod sat脹rlar脹nda g旦rebilirisiniz.
Burada yapt脹脹m脹z ilem sadece sorgu.CommandText koduna
eitlenecek sql c端mlesini deitirdik.SQL de UPDATE
komutu kay脹tlar脹n g端ncellenmesini salar.
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 deeri 521 olan kay脹t g端ncellendi")
18. Tablodaki Verileri Silme
Veritaban脹nda verilen bir kayd脹 silme ilemini yine kodlarda
sadece sql c端mlesini deitirerek ger巽ekletirebiliriz.
Burada yine g端ncelleme kodunda olduu gibi sadece SQL
c端mlesini deitirdik.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 deeri 521 olan kay脹t silindi ")
19. ASP.NET Raporlama
Raporlama masa端st端 programc脹l脹脹nda 旦nemli bir ileve sahip
olduu gibi web ortamlar脹nda da yayg脹n olarak
kullan脹lmaktad脹r. Rapor oluturarak 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 oluturma se巽enei bulunmaktad脹r. Bunlar
Classic Report ve Crystal Report oluturma bileenleridir.
Classic Report ile basit manual olarak basit raporlama
yap脹labilirken, Crystal Report Classic Reporta g旦re daha
gelimi se巽enekler sunmaktad脹r. Biz bu konu bal脹脹 alt脹nda
Crystal Report oluturma ve sayfada g旦r端nt端lenmesini
inceleyeceiz.
20. 聴lk olarak yapt脹脹m脹z uygulamay脹 a巽arak Web Form1.aspx >
Add> New Item se巽eneinden Crystal Reportu projemize
ekleyebiliriz. Crystal Reportun 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 balant脹 salamak i巽in
Standart Repor Oluturma Sihirbaz脹 penceresi gelecektir. Biz
uygulamam脹zda Access veritaban脹m脹za balanaca脹z. Bunu
i巽in a巽脹lan pencereden Yeni Balant脹 Olutur k脹sm脹ndan OLE
DB se巽eneini se巽iniz ve 聴leri butonuna t脹klay脹n脹z.
22. OLE DB se巽enei t脹klad脹脹m脹zda kar脹m脹za veritaban脹 balant脹m脹z
i巽in OLE DB (ADO) penceresi gelecektir. Buradan Microsoft Office
12.0 Database Engine OLE DB Prov se巽eneini 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巽tiimize g旦re art脹k ilemimize devam
edebiliriz. Tekrardan Standart Report Creation Wizard
penceresi g旦r端necektir. Bu sefer OLE DB (ADO) nun alt脹nda
balant脹 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 istediimizi
soracakt脹r. Tablo1 tablosundaki t端m kolonlar脹 yine se巽erek
sa tarafa ge巽iriniz.
Kolonlar脹 se巽tikten sonra Son butonuna basarak ilemimizi
sonland脹ral脹m. Kar脹m脹za CrystalReport.rpt dosyas脹 a巽脹lacak
ve se巽tiimiz kolonlar bir d端zen i巽erisinde yerlemi olacakt脹r.
26. Rapor oluturma ilemlerini tamamlad脹ktan sonra oluturduumuz
raporu web sayfam脹zda nas脹l g旦r端nt端leneceini 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脹
oluturmam脹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 yerletiririniz.
Web sayfam脹za eklediimiz CrystalReportSourceu se巽iniz.
Configure Report Source se巽eneini(saa ok iareti)
t脹klay脹n脹z. Kar脹m脹za gelen Configure Report Source
penceresinden CrystalReport.rpt dosyam脹z脹 se巽tikten sonra
Tamam butonuna bas脹n脹z.
29. CrystalReportView nesnesindeki yan men端deki Choose Report
Source se巽eneinden CrystalReportSource1i se巽iniz. Sayfam脹z脹
巽al脹t脹rd脹脹m脹zda nas脹l bir g旦r端nt端 olaca脹na dair bize bilgi
vermektedir.
Yukar脹daki ilemleri yapt脹ktan sonra raporumuz g旦r端nt端lemeye
haz脹r duruma gelmi bulunmaktad脹r. Uygulamam脹z脹 daha ilevsel
hale getirmek i巽in sayfada birka巽 deiiklik yaparak raporunuzu
g旦r端nt端leyebilirsiniz.