Visual Studio 2005 ile birlikte,
verilerle çalışma şeklimiz de biraz değişecek. Aslında, eskiden yapılabilen herşey,
VStudio 2005 ile de yapılabiliyor. Yani eskiden
alışmış olduğunuz şekilde çalışmaya devam edebilirsiniz.
Ancak şüphesiz bu, birçok yenilikten mahrum kalmak anlamına geliyor.
Önce,
VStudio ile gelen veri kaynağı (DataSource)
kavramını inceleyelim...
Uygulamamızda
kullanabileceğimiz her tür verinin proje içindeki gösterimi veri kaynaklarıdır.
Veri kaynakları,
veritabanlarından, web servislerinden, özel nesne ya
da bileşenlerden ve lokal veritabanı dosyalarından oluşturulabilirler.
VStudio’ya yeni eklenen bu pencere ile, proje içerisinde
kullanılabilecek tüm veri kaynaklarını yönetebiliyoruz.
Bu pencere aslında VStudio 2003’te de bulunan Server
Explorer penceresi gibi çalışıyor.
Ancak çok daha gelişmiş olduğunu söyleyebiliriz. Buradan bir veri kaynağı
sürükleyip, bir Windows forma bıraktığımızda,
veri kaynağı ile ilgili tüm işlemlerin
yapılabildiği (kayıt ekleme, silme, değiştirme vs..) bir arayüz
form üzerinde
bizim için oluşturuluyor. Arayüzün bir grid şeklinde mi yoksa form kontrolleri ile mi
oluşturulacağını Data Sources
Penceresinden belirleyebiliyoruz.
Adım
adım bir veri kaynağı oluşturalım ve kullanalım...
1.
VStudio 2005’te yeni bir Windows Application Projesi oluşturun.
2.
Data menüsünden,
Add New Data Source
öğesini seçin.

3.
Data Source
Configuration Wizard
açılış penceresini Next
ile geçiyoruz.

4.
Sonraki pencerede, çalışmak istediğimiz verikaynağının
türünü seçiyoruz. Şu anda dört farklı veri kaynağı ile
çalışmayı seçebiliriz. Bunlar veritabanı, lokal veritabanı dosyası (Access .mdb ve SQL Express .mdf dosyaları),
web servisi ve bir nesne olabilir. Şimdilik veritabanı seçeneğini seçili
bırakıp Next
ile devam ediyoruz.

5.
Veri kaynağımız için bir bağlantı dizisi (connection
string) belirtmemiz gerekiyor. Eğer Server Explorer ile
daha önce bir bağlantı dizisi oluşturmuşsanız, bu pencereden onu
seçebilirsiniz. Bir burada yeni bir bağlantı
dizisi oluşturacağız. New Connection tuşu ile
aşağıdaki pencereyi açıyorsunuz.

Connection Properties
penceresi, eskisi ile hemen hemen aynı. Sadece göze
biraz daha hoş gelen birkaç
değişiklik eklenmiş. Eğer siz de benim gibi, SQL Express kurmuşsanız,
veritabanına ulaşmak için
makine_adi\örnek_adi yazmalısınız. SQL Express bir isimli örnek (named instance) kurduğundan
dolayı bu şekilde sisteme ulaşmamız gerekiyor. Sunucu adını belirttikten sonra
açılır listeden bir veritabanı
adı seçiyorsunuz. Benimle aynı veritabanını seçmeniz gerekmiyor. Örneğimizde
veritabanına özel herhangi
bir programlama yapmayacağız... OK tuşu ile pencereyi kapatıyoruz.
6.
Bir sonraki pencere, belirlemiş olduğumuz ayarların özetini bize
gösteriyor. Eğer değişiklik yapmak
istiyorsanız Back
ile ayarlara geri dönebilirsiniz. Next ile devam ediyoruz.

7.
Eğer bağlantı dizisini (connection string) uygulama konfigurasyon
dosyasında saklamak istiyorsanız
(eğer Integrated Security kullanıyorsanız şiddetle
tavsiye edilir), yukarıdaki pencerede
Yes, save the connection as: seçeneğini
aktif duruma getirip, bağlantı dizisini konfigurasyon
dosyasında
hangi anahtar ile saklayacağınızı alttaki metin kutusuna yazmalısınız.

8.
Bir sonraki pencere (yukarıdaki) ile veri kaynağına eklenmesini
istediğimiz nesneleri seçiyoruz.
Bunlar arasında tablolar, görünümler, depolanmış yordamlar ve fonksiyonlar
mevcut. İstediğiniz bir
tabloyu seçebilirsiniz. Ben, Filmler
adındaki bir tabloyu seçtim. Daha önce de söylediğim gibi, seçeceğiniz
tablonun örnek açısınıdan herhangi bir önemi yok.
9.
Finish
tuşu ile işlemi tamamlıyoruz...
İşlem
tamamlandığında projeye VStudio tarafından bir tiplendirilmiş veri kümesi (typed
dataset) ekleniyor.
Bu veri kümesi ile, eskiden çalıştığınız gibi çalışabilirsiniz...

Şimdi
veri kaynakları penceresini (Data Sources Windows)
açalım ve ne işe yaradığını görelim.
Data menüsünden,
Show Data Sources
menüsü ile veri kaynakları penceresini açalım:

Pencerede
gördüğünüz gibi, veri kaynağını yapılandırırken seçmiş olduğum Filmler tablosu ve
içindeki tüm alanlar veri kaynakları penceresinden görünebiliyor.
Şimdi
veri kaynakları penceresinin en güzel özelliklerinden birine bakalım. Eklemiş
olduğunuz tabloyu
seçin ve hemen yanında beliren ok tuşu ile listeyi açın:

Açılan
listeden seçeceğimiz bir özellik ile, Filmler
tablosu form üzerine sürüklenip bırakıldığında nasıl
bir arayüz oluşturulacağını belirlemiş oluyoruz. Önce
DataGridView
seçeneğini deneyelim. Listeden
DataGridView
seçeneğini işaretliyoruz ve tabloyu sürükleyip, form üzerinde sürükleyip
bırakıyoruz.
Form aşağıdaki şekilde değişmiş olmalı:

Görüldüğü
gibi, veri içinde ilerlemek, kayıt eklemek ve silmek için gerekli olan tuşlar
form üzerine eklenen
bir araç çubuğu içinde oluşturuldu. Ve evet, farkettiğiniz
gibi artık Office 2003 görünümünde araç çubukları
oluşturmak hiç de zor değil...
Şimdi
bir diğer seçenek ile, yani Details seçeneği.
Önce projeye yeni bir form ekleyin.

Filmler tablosu için Details
seçeneğini işaretledim. Bu arada YonetmenNo, SenaristNo, TurNo ve
YapimciUlkeNo
kolonlarının açılır listelerinden, resimde görüldüğü gibi ComboBox
kontrolünü seçtim.
Bu sayede, arayüz oluşturulurken, yukarıdaki alanlar
için birer metin kutusu yerine açılır liste form yüzeyinde
oluşturulacak.
Tabloyu
sürükleyip yeni eklediğim form üzerine bırakıyorum. Aşağıdaki görünümü elde
ediyorum:

Bu
sefer oluşturulan arayüz, teker teker
kayıtlar üzerinde güncelleme yapılmasını sağlayan, yeni kayıt
eklenirken kontrollerin kullanılmasını kolaylaştıran bir arayüz...
Oluşturduğunuz
bu arayüzü test etmek için en son eklediğiniz formu
projenin başlangıç formu olarak
belirlemeniz gerekiyor. Eğer siz aksini belirtmezseniz, kayıt etme tuşu
tıklanamaz durumda oluşturulmuştur.
Kayıt işlemlerini gerçekleştirebilmek için öncelikle araç çubuğundaki kayıt
tuşunun (dataNavigatorSaveItem)
Enabled
özelliğini True
olarak değiştirmeniz gerekiyor. Bu işlemden sonra kayıtların veritabanına
gönderilmesi
için gerekli olan kodları yazıyoruz.
Kayıt
tuşuna çift tıklayın ve click olay tutucusuna geçin
ve aşağıdaki kodları yazın:
|
Private Sub dataNavigatorSaveItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles dataNavigatorSaveItem.Click Try FilmlerTableAdapter.Update(Me.FilmArsiviDataSet) MessageBox.Show("Güncelleme basarili., "Film Arsivi", MessageBoxButtons.OK, MessageBoxIcon.Information) Catch ex As Exception MessageBox.Show("Güncelleme basarisiz!, "Film Arsivi", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub |
Yukarıda
da gördüğünüz gibi, artık verileri güncellemek için DataAdapter nesnelerini
kullanmıyoruz.
Kullandığımız nesne bir TableAdapter
nesnesi. Bunlar ataları olan DataAdapter
nesnelerinden daha gelişmiş,
fakat yine onlar gibi çalışan nesneler.