İNTERNET PROGRAMLAMA – 2 A S P . N E T -...

56
İNTERNET PROGRAMLAMA – 2 | A S P . N E T Marmara Teknik Bilimler MYO / Hafta 5 – Veri Tabanı İşlemleri

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