İNTERNET PROGRAMLAMA – 2 A S P . N E T -...
Transcript of İNTERNET PROGRAMLAMA – 2 A S P . N E T -...
İNTERNET PROGRAMLAMA – 2 |A S P . N E T
Marmara Teknik Bilimler MYO / Hafta 5 – Veri Tabanı İşlemleri
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI BAĞLANTISI
2
Site içindeki bilgilerin saklanması / düzenlenmesi vekullanıcı etkileşiminin sağlanabilmesi için; veriler,ilişkisel veri depolama modeli kullanılaraktutulmalıdır. Bu yöntemde geliştirilen uygulamalaraİlişkisel Veri Tabanı Yönetim Sistemi adıverilmektedir.
Bu yöntemde veriyi saklamak ve tekrar kullanılmaküzere depolamak için kullanılan sistemler iseVeritabanı (Database) olarak tanımlanabilir.
Verileri depolamak için farklı veritabanı uygulamayazılımları kullanılabilir. Programlama yazılımı ile buveritabanlarına bağlantı kurularak veriler üzerindeişlem yapılabilir.
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI BAĞLANTISI
3
• Veri Erişim Teknolojileri
Uygulamalarda veriye erişmek için birçok veri erişim
teknolojisi geliştirilmiştir:
ODBC (Open Database Connectivity)
DAO (Data Access Object)
RDO (Remote Data Object)
OLE DB (Object Linking and Embedding DataBase)
ADO (ActiveX Data Object)
ADO.NET
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI BAĞLANTISI
4
• ADO.NET Mimarisi
.NET platformunda kullanılan ortak bir katmandır.
.NET ile geliştirilen tüm uygulamalar, veriye erişimde
ADO.NET tiplerinden faydalanmaktadır.
ADO.NET ile farklı veritabanları ve veritabanı yönetim
sistemleri kullanılabilir. Bu nedenle .NET platformu
geliştirilirken farklı standartları destekleyen ayrı isim
alanları (Namespace) oluşturulmuştur:
SQL SQL Server Veri Sağlayıcı
Oracle Oracle Veri Sağlayıcı (Oracle Data Provider)
OLEDB OleDb .NET Veri Sağlayıcı
ODBC ODBC .NET Veri Sağlayıcı
WEB TASARIMI VE PROGRAMLAMA
VT BAĞLANTISI / ADO.NET MİMARİSİ
5
• Connection Nesnesi
Veri kaynağı ile uygulama arasında bağlantı
kurmak, hangi veri kaynağına hangi güvenlik
ayarlarıyla bağlanılacağını belirlemek için
kullanılır.
Visual Studio’da veri kaynağının türüne bağlı
olarak;
SqlConnection
OleDbConnection
olmak üzere iki farklı yöntem kullanılır.
WEB TASARIMI VE PROGRAMLAMA
VT BAĞLANTISI / ADO.NET MİMARİSİ
6
• Command Nesnesi
Bağlantı kurulan veri kaynağına müdahale
etmeyi sağlar ve veri kaynağı ile uygulama
arasında veri alma-verme isteklerini taşır.
Command nesnesinin Visual Studio’da veritabanı
üzerinde komut yürütmesi için;
ExuteNonQuery
ExuteScalar
ExuteReader
olmak üzere 3 farklı kullanımı vardır.
WEB TASARIMI VE PROGRAMLAMA
VT BAĞLANTISI / ADO.NET MİMARİSİ
7
• DataReader Nesnesi
Veritabanından Command nesnesi ile
getirilen verileri okumak için kullanılır.
• DataAdapter Nesnesi
Veritabanı ile bağlantı kurulduktan sonra veri
tabanından alınan verileri, bellekte tutacak
nesnelere aktarmak ve gerekli düzenlemelerden
sonra tekrar veritabanına aktarmak için kullanılır.
WEB TASARIMI VE PROGRAMLAMA
VT BAĞLANTISI / ADO.NET MİMARİSİ
8
• DataAdapter Nesnesi
Veritabanında işlem yapmak için 4 özelliği vardır:
Seçme / SelectCommand
Ekleme / InsertCommand
Güncelleme / UpdateCommand,
Silme / DeleteCommand
• DataSet Nesnesi
DataAdapter nesnesi aracılığıyla alınan verileri
bağlantısız olarak depolamak ve yönetmek için
kullanılır.
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI BAĞLANTISI
9
• Veritabanı Oluşturma
Veritabanı, harici bir veritabanı uygulaması (Access,
SQL Server, vb…) üzerinden oluşturulabileceği gibi
Visual Studio aracılığıyla da oluşturulabilir.
Veritabanı, web sitesi içindeki App_Data klasörüne
yüklenmelidir.
Solution Explorer alanında Web Site üzerinde sağ
tuşla açılan menüden Add ASP.NET Folder /
App_Data tıklanarak ilgili klasör eklenebilir.
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI BAĞLANTISI
10
• Veritabanına Bağlanma
Uygulamada kullanılan veritabanına; Connection
nesnesiyle güvenlik ayarları belirtildikten sonra
bağlanılabilir.
Bağlantı açıldıktan sonra uygulama ile veri tabanı
arasında veri aktarımı yapılabilir.
Veri aktarımı tamamlandıktan sonra bağlantı
kapatılmalıdır. Bağlantı kapatılmadığı zaman sunucu
kaynaklarının gereksiz kullanımı uygulama çalışma
zamanında sorunlara sebep olabilir.
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI BAĞLANTISI
11
• Veritabanına Bağlanma
Uygulama yazılımından harici bir Access
veritabanına bağlanmak için öncelikle
System.Data.OleDb isim alanının uygulamaya
(default.aspx.cs) eklenmesi gerekmektedir.
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI BAĞLANTISI
12
• Veritabanına Bağlanma
OleDbConnection baglanti_adi = new OleDbConnection("connection_string_ifadesi; Data Source=" + Server.MapPath("veritabanı_yolu_ve_adi"));
OleDbConnection: Access veritabanına bağlanmak için
kullanılan Connection nesnesini ifade eder.
connection_string (Provider): Bağlantı sağlayıcının
ismini tutar. OleDbConnection nesnesi ile birlikte kullanılır.
Kullanılacak VT sürümüne göre değişir.
Data Source: Veritabanı adını belirtmek için kullanılır.
Server.MapPath: Veritabanı dosyasının sunucu üzerindeki
yolunu eşleştirmek için kullanılır.
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI İŞLEMLERİ
13
Veritabanı ile bağlantı kurulduktan sonra veritabanı
içindeki veriler seçilebilir, bir kontrole aktarılabilir; ya
da veritabanı içinde veri ekleme / güncelleme / silme
işlemleri gerçekleştirilebilir.
• Bağlantıyı Açma - Kapama
Veritabanı bağlantı cümlesi yazıldıktan sonra
bağlantının açılması gerekir.
baglanti_adi.Open();
Veritabanı ile veri alış-verişi tamamlandıktan sonra
bağlantı mutlaka kapatılmalıdır.
baglanti_adi.Close();
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI İŞLEMLERİ
14
• Veri Ekleme
Veritabanında bulunan bir veya birden fazla alana
veri eklemek için INSERT SQL komutu kullanılır.
Veritabanından veriler aşağıdaki komutla eklenir:
OleDbCommand komut_adi = new OleDbCommand("INSERT INTO tablo_adi (eklenecek_veriler)VALUES (form_arayuzundeki_kontrollere_bagli_parametreler)",baglanti_adi);
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
15
• Bir web sitesi
oluşturulur.
(01_vt_uyg1)
• Bu web sitesi içinde
App_Data klasörü
oluşturulur.
Adım1
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
16
• vt adında bir veritabanı oluşturulur.
• Veritabanı içine uyeler isimli bir tablo eklenir ve ilgili
alanlar tanımlanır.
• Tablo, içine kayıt eklenmeden kapatılır.
Adım2
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
17
• Veritabanı, kaydedilerek kapatılır.
• Web site altındaki App_Data klasörüne taşınır.
Adım3
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
18
• Web sitesi içinde yeni bir Web Form sayfası açılır.
• Sayfa içine kullanıcı adı ve parola girişi için uygun
kontroller eklenir.
Adım4
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
19
• EKLE butonuna tıklanarak açılan CS sayfasının
başına System.Data.OleDb isim alanı eklenir.
Adım5
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
20
• EKLE butonuna tıklanarak açılan aspx.cs sayfasındaki
Button_Click olayının içine veritabanı bağlantısı için
gerekli kod yazılır.
Adım6
‘‘Provider.. ’’ ifadesi Access sürümüne göre değişebilmektedir.
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
21
• EKLE butonuna tıklanarak açılan aspx.cs sayfasındaki
Button_Click olayının içine veritabanı bağlantısının
açılması için gerekli kod eklenir.
Adım7
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
22
• EKLE butonuna tıklanarak açılan aspx.cs sayfasındaki
Button_Click olayının içine veritabanına veri eklemek
için gerekli SQL ifadesi yazılır ve bu ifade, tanımlanan
OleDbCommand nesnesi içine aktarılır.
Adım8
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
23
• INSERT ifadesi içinde tanımlanan parametrelere, web
formundaki sunucu kontrollerine girilecek bilgilerin
aktarılması için gerekli kodlama yapılır.
Adım9
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
24
• Hazırlanan sorgunun çalıştırılması için gerekli kod
satırı eklenir.
Adım10
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
25
• Button_Click olayının içine veritabanı bağlantısının
kapatılması için gerekli kod eklenir.
Adım11
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
26
• Uygulama çalıştırılarak test edilir.
Adım12
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI İŞLEMLERİ
27
• Veri Güncelleme
Veritabanında bulunan bir veya birden fazla veriyi
güncellemek için UPDATE SQL komutu kullanılır.
Veritabanındaki veriler aşağıdaki komutla güncellenir:
OleDbCommand komut_adi = new OleDbCommand("UPDATE tablo_adi SETdegisecek_alan=parametre_değeri WHERE koşul_alani=parametre_degeri",baglanti_adi);
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
28
• Bir web sitesi oluşturulur. (02_vt_uyg2)
• Bu web sitesi içinde App_Data klasörü oluşturulur.
• Önceden hazırlanmış veritabanı dosyası App_Data
klasörüne taşınır.
• Web sitesi içinde yeni bir Web Form sayfası açılır.
• Sayfa içine kullanıcı adı ve
parola güncelleme işlemi için
uygun kontroller eklenir.
Adım1
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
29
• EKLE butonuna tıklanarak açılan CS sayfasının
başına System.Data.OleDb isim alanı eklenir.
Adım2
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
30
• GÜNCELLE butonuna tıklanarak açılan aspx.cs
sayfasındaki Button_Click olayının içine veritabanı
bağlantısı için gerekli kod yazılır.
Adım3
‘‘Provider.. ’’ ifadesi Access sürümüne göre değişebilmektedir.
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
31
• GÜNCELLE butonuna tıklanarak açılan aspx.cs
sayfasındaki Button_Click olayının içine veritabanı
bağlantısının açılması için gerekli kod eklenir.
Adım4
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
32
• GÜNCELLE butonuna tıklanarak açılan aspx.cs
sayfasındaki Button_Click olayının içine veritabanında
istenen veriyi güncellemek için gerekli SQL ifadesi
yazılır ve bu ifade, tanımlanan OleDbCommand
nesnesi içine aktarılır.
Adım5
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
33
• UPDATE ifadesi içinde tanımlanan parametrelere, web
formundaki sunucu kontrollerine girilecek bilgilerin
aktarılması için gerekli kodlama yapılır.
Adım6
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
34
• Hazırlanan sorgunun çalıştırılması için gerekli kod
satırı eklenir.
Adım7
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
35
• Button_Click olayının içine veritabanı bağlantısının
kapatılması için gerekli kod eklenir.
Adım 8
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
36
• Uygulama çalıştırılarak test edilir.
Adım 9
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI İŞLEMLERİ
37
• Veri Silme
Veritabanında bulunan bir veya birden fazla veriyi
silmek için DELETE SQL komutu kullanılır.
Veritabanındaki veriler aşağıdaki komutla silinir:
OleDbCommand komut_adi = new OleDbCommand("DELETE from tablo_adi WHERE kosul_alani=parametre_degeri",baglanti_adi);
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
38
• Bir web sitesi oluşturulur. (03_vt_uyg3)
• Bu web sitesi içinde App_Data klasörü oluşturulur.
• Önceden hazırlanmış veritabanı dosyası App_Data
klasörüne taşınır.
• Web sitesi içinde yeni bir Web Form sayfası açılır.
• Sayfa içine kullanıcı adına
göre parola silme işlemi için
uygun kontroller eklenir.
Adım1
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
39
• SİL butonuna tıklanarak açılan CS sayfasının başına
System.Data.OleDb isim alanı eklenir.
Adım2
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
40
• SİL butonuna tıklanarak açılan aspx.cs sayfasındaki
Button_Click olayının içine veritabanı bağlantısı için
gerekli kod yazılır.
Adım3
‘‘Provider.. ’’ ifadesi Access sürümüne göre değişebilmektedir.
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
41
• SİL butonuna tıklanarak açılan aspx.cs sayfasındaki
Button_Click olayının içine veritabanı bağlantısının
açılması için gerekli kod eklenir.
Adım4
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
42
• SİL butonuna tıklanarak açılan aspx.cs sayfasındaki
Button_Click olayının içine veritabanında istenen
kaydı silmek için gerekli SQL ifadesi yazılır ve bu
ifade, tanımlanan OleDbCommand nesnesi içine
aktarılır.
Adım5
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
43
• SİL ifadesi içinde tanımlanan parametrelere, web
formundaki sunucu kontrolüne girilecek bilginin
aktarılması için gerekli kodlama yapılır.
Adım6
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
44
• Hazırlanan sorgunun çalıştırılması için gerekli kod
satırı eklenir.
Adım7
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
45
• Button_Click olayının içine veritabanı bağlantısının
kapatılması için gerekli kod eklenir.
Adım 8
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
46
• Uygulama çalıştırılarak test edilir.
Adım 9
WEB TASARIMI VE PROGRAMLAMA
VERİTABANI İŞLEMLERİ
47
• Veri Seçme
Veritabanında bulunan bir veya birden fazla veriyi
seçmek için SELECT SQL komutu kullanılır.
Veritabanından veriler aşağıdaki komutla seçilir:
OleDbCommand komut_adi = new OleDbCommand("SELECT secilecek_veriler FROM tablo_adi", baglanti_adi);
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
48
• Bir web sitesi oluşturulur. (04_vt_uyg4)
• Bu web sitesi içinde App_Data klasörü oluşturulur.
• Önceden hazırlanmış veritabanı dosyası App_Data
klasörüne taşınır.
• Web sitesi içinde yeni bir Web Form sayfası açılır.
• Sayfa içine kullanıcı adı ve
parola giriş işlemi için
uygun kontroller eklenir.
Adım1
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
49
• EKLE butonuna tıklanarak açılan CS sayfasının
başına System.Data.OleDb isim alanı eklenir.
Adım2
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
50
• GİRİŞ butonuna tıklanarak açılan aspx.cs
sayfasındaki Button_Click olayının içine veritabanı
bağlantısı için gerekli kod yazılır.
Adım3
‘‘Provider.. ’’ ifadesi Access sürümüne göre değişebilmektedir.
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
51
• GİRİŞ butonuna tıklanarak açılan aspx.cs
sayfasındaki Button_Click olayının içine veritabanı
bağlantısının açılması için gerekli kod eklenir.
Adım4
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
52
• GİRİŞ butonuna tıklanarak açılan aspx.cs
sayfasındaki Button_Click olayının içine
veritabanından veri seçmek için gerekli kod eklenir.
Adım5
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
53
• Veritabanından seçilen verileri okumak ve TextBox
içindeki değerlerle karşılaştırmak için gerekli kodlar
yazılır.
Adım6
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
54
• Button_Click olayının içine veritabanı bağlantısının
kapatılması için gerekli kod eklenir.
Adım 7
WEB TASARIMI VE PROGRAMLAMA
ö r n e k u y g u l a m a
55
• Uygulama çalıştırılarak test edilir.
Adım 8
WEB TASARIMI VE PROGRAMLAMA
Ekran görüntüsü verilen
sayfa içindeki kontrollere
uygun veritabanını
oluşturduktan sonra
kontroller içine girilen
bilgilerin veritabanı içindeki
ilgili tabloya eklenmesini
sağlayacak kodlamayı
yapınız.
İlçe alanındaki veriler, İl
alanı içindeki değere göre
otomatik olarak değişecektir.
Bunun için İl kontrolünün
AutoPostBack özelliği TRUE
olarak düzenlenmelidir.
ö r n e k u y g u l a m a
56