vİsual basİc’İn verİ tabanlari · 2006-05-08 · vİsual basİc’İn verİ tabanlari İle...

21
VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi işlem dünyasında uzun tecrübe ve aşamalardan sonra ulaşılmış bir kavramdır ve klasik dosya yönetimine bir alternatif olarak ortaya çıkmıştır. Klasik bir dosya yönetim sürecinde en önemli özellik uygulamaya bağımlı olmaktır; yani bir dosya hangi yazılım tarafından oluşturulmuşsa o yazılıma bağımlı olarak dosyaya erişilebilir; oysa veri tabanı yönetiminde prensip olarak veri-uygulama bağımsızlığı vardır; yani bir kez oluşturulmuş verilere teorik olarak her tür programlama dili yada uygulama programı ile erişmek imkanı vardır. Bu özelliğin doğal sonucu olarak, veri tabanı sisteminin sorgulanmasında (veri tabanı içinden belirli koşulları sağlayan verileri almak) standart bir sorgulama dili kullanılır; bu dil de SQL (Structured Query Language-Yapısal Sorgulama Dili) dir. SQL dili diğer programlama dilleri ile etkileşim içindedir. Bu anlamda Visual Basic içinden ya da C veya Cobol dili içinden SQL dilini kullanmak imkanı vardır. Veri tabanı sistemi (Data Base System), Veri Tabanı ve bunu yönetecek olan özel bir yazılımdan oluşur. Bu özel yazılım Veri Tabanı Yönetim Yazılımı (Data Base Management Software) adını alır. Örneğin Access, Dbase5, Oracle gibi yazılımlar bu tür yazılımlardır. VERİ TABANI Veri Tabanı (Data Base), birbiri ile ilişkili veriler topluluğudur. Veri tabanı sadece verileri değil, onlar arasındaki ilişkileri de saklar. Bugün kullanılan ilişkisel modele dayalı (relational model) modern veri tabanları, Tablo (Table) denilen elemanlardan oluşur. VİSUAL BASİC VE VERİ TABANI YÖNETİMİ Visual Basic 5.0 ile, klasik Basic dosyalarını oluşturup yönetmenin yanında, Veri Tabanı yaratmak, Veri Tabanını sorgulamak, mevcut veri tabanlarına erişmek te mümkün olmaktadır. Visual Basic’in Professional Edition ve Enterprise Edition adlı versiyonlarında, SQL komutları tamamı ile yüklüdür; dolayısı ile bu komutlarla Veri Tabanı yaratmak ve

Upload: others

Post on 11-Apr-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ

Veri tabanı kavramı, bilgi işlem dünyasında uzun tecrübe ve aşamalardan sonra

ulaşılmış bir kavramdır ve klasik dosya yönetimine bir alternatif olarak ortaya çıkmıştır. Klasik bir dosya yönetim sürecinde en önemli özellik uygulamaya bağımlı olmaktır;

yani bir dosya hangi yazılım tarafından oluşturulmuşsa o yazılıma bağımlı olarak dosyaya erişilebilir; oysa veri tabanı yönetiminde prensip olarak veri-uygulama bağımsızlığı vardır; yani bir kez oluşturulmuş verilere teorik olarak her tür programlama dili yada uygulama programı ile erişmek imkanı vardır.

Bu özelliğin doğal sonucu olarak, veri tabanı sisteminin sorgulanmasında (veri tabanı

içinden belirli koşulları sağlayan verileri almak) standart bir sorgulama dili kullanılır; bu dil de SQL (Structured Query Language-Yapısal Sorgulama Dili) dir. SQL dili diğer programlama dilleri ile etkileşim içindedir. Bu anlamda Visual Basic içinden ya da C veya Cobol dili içinden SQL dilini kullanmak imkanı vardır.

Veri tabanı sistemi (Data Base System), Veri Tabanı ve bunu yönetecek olan özel bir

yazılımdan oluşur. Bu özel yazılım Veri Tabanı Yönetim Yazılımı (Data Base Management Software) adını alır. Örneğin Access, Dbase5, Oracle gibi yazılımlar bu tür yazılımlardır.

VERİ TABANI Veri Tabanı (Data Base), birbiri ile ilişkili veriler topluluğudur. Veri tabanı sadece

verileri değil, onlar arasındaki ilişkileri de saklar. Bugün kullanılan ilişkisel modele dayalı (relational model) modern veri tabanları, Tablo (Table) denilen elemanlardan oluşur.

VİSUAL BASİC VE VERİ TABANI YÖNETİMİ

Visual Basic 5.0 ile, klasik Basic dosyalarını oluşturup yönetmenin yanında, Veri Tabanı yaratmak, Veri Tabanını sorgulamak, mevcut veri tabanlarına erişmek te mümkün olmaktadır.

Visual Basic’in Professional Edition ve Enterprise Edition adlı versiyonlarında, SQL

komutları tamamı ile yüklüdür; dolayısı ile bu komutlarla Veri Tabanı yaratmak ve

Page 2: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

sorgulamak mümkün olacaktır. Visual Basic’in Standard Edition adlı versiyonunda ise SQL komutlarının bir alt kümesi mevcuttur.

Standard Edition’da Veri Taban yönetimi için en etkin nesne Görsel Veri Yöneticisi

(Visual Data Manager) adlı nesnedir. Aşağıdaki bölümde bu nesne anlatılacaktır.

GÖRSEL VERİ YÖNETİCİSİ (VİSUAL DATA MANAGER) Görsel veri yöneticisi, Add-Inss/Visual Data Manager menü adımlarını izleyerek

erişilebilecek bir bileşendir. Visual Basic’in Standard Edition versiyonunda, Veri Yöneticisi, bir veri tabanı oluşturmak için kullanılabilecek tek imkandır. Gerçekte veri yöneticisi, Visual Basic’ten ayrı olarak ta çalıştırılabilecek bir uygulamadır. Veri yöneticisinin adı VISDATA’dır.

Add-Ins menüsünden Visual Data Manager’ı seçerseniz karşınıza Şekil1’deki ekran

gelecektir. Burada file menüsü mouse yardımı ile seçilirse, şekil2’de görülen alt menü seçenekleri görüntülenecektir.

Şekil1-Görsel Veri Yöneticisi (Visual Data Manager) başlangıç menüsü

Page 3: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil2-Görsel Veri Yöneticisi File Menüsünün alt menüleri

GÖRSEL VERİ YÖNETİCİSİNİ KULLANARAK YENİ BİR VERİ TABANI OLUŞTURMAK

Görsel Veri Yöneticisini kullanarak, mevcut olmayan bir veri tabanını ilk kez oluşturmak için aşağıdaki adımları izlemelisiniz:

1) Add-Ins/Visual Data Manager menü adımlarını izleyiniz. Şekil1’deki başlangıç

menüsü gelecektir. Burada File/New menü adımlarını izleyiniz. Açılan aşağıdaki menü seçeneklerinde arzu edilen veri tabanı ve versiyon numarası seçilir. Örnekte Access tipi bir veri tabanı seçilmiştir. Bu işlemden sonra şekil4 ekrana gelecektir.

Şekil3-Access tipi Veri Tabanının 7.0 versiyonunun seçilmesi

Page 4: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil4-Yeni bir veri tabanı oluşturma-Başlangıç Ekranı

2) Dosya adı kutusuna, oluşturmak istediğiniz veri tabanının adını yazınız. Bu örnekte Pers1 olarak seçilmiştir. Access tipi bir veri tabanı oluşacaktır ve uzantısı mdb’dir. Kaydet komutunu seçiniz.

3) Şimdi şekil5’deki ekran gelmiştir. Veritabanı Penceresi (Database Window) üzerinde

mouse’un sağ tuşuna basılınca açılan menü penceresinde New Table butonunu seçiniz. Şekil6 ekrana gelecektir.

Bu ekranda, Pers1.mdb adlı veri tabanınızın ilk tablosu Personel adlı tablo olduğu için,

Table Name kutusuna Personel yazıp Add Field butonunu tıklayınız. Açılan Add Field diyalog penceresinde Name kutusuna, personel tablosundaki ilk alan adı olan Sosyal Güvenlik numarasını Sosy_g_no şeklinde giriniz. Type kutucuğuna ise, mouse ve bu butonun yanındaki buton yardımı ile Text veri türünü yerleştiriniz. Bu türdeki bilginin alan adı uzunluğu Size kutusuna 10 yazılarak belirtilir. Böylece, sosyal güvenlik numarasını Text (metin türü-string veya karakter) bir bilgi olarak tanımlamış oluyorsunuz. (Şekil7). Şimdi bu alanı Personel adlı tabloya eklemek ve bir sonraki alanı tanımlamak için OK butonunu seçiniz. Şekil8’deki ekran gelir.

Page 5: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil5-Yeni bir veri tabanı oluşturma-İkinci adım

Şekil6-Veri tabanına tablo ekleme

Page 6: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil7-Personel adlı tablonun alanlarının tanımlanması

Şekil8-Personel tablosunun ad adlı alanının tanımlanması

Page 7: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Burada Name yerine ad yazınız. Data Type’ı Text seçiniz. Tekrar Ok butonunu seçerek bir sonraki alan tanımına geçiniz. Daha sonraki alanları aşağıdaki tabloda verilen isim, tür ve uzunluklarla (size) giriniz.

Alan Adı (Field Name) Veri Tipi (Data Type) Boyut (Uzunluk-Size) sicil Integer soyad Text 10 dog_tar Date/Time N/A adres Text 50 cins Boolean N/A brut Double bol_no Integer yon_s_g_n Text 8

Sonuçta şekil9’da görülen tablo oluşacaktır. Build Table butonunu seçiniz. Şekil10’daki

ekran gelecektir.

Şekil9-Personel tablosunun tamamlanmış hali

Page 8: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil10-Personel Tablosu ve SQL sorgulama penceresi

4) Şekil5’deki ekranda olduğu gibi yine New Table seçeneğini seçerek, Pers1.mdb adlı veri tabanındaki ikinci tablo olan bolum tablosunu oluşturmaya başlayınız. (Şekil11) Bölüm tablosunun alanları aşağıdaki gibidir:

Alan Adı (Field Name) Veri Tipi (Data Type) Uzunluk (Size)

bolum_ad Text 15 bolum_no Integer y_sos_g_n Text 8 y_is_b_tar Date/Time

Şekil11-Bolum tablosunun tanımlanması Sonuçta bolum adlı tabloda tanımlanarak Şekil12’deki ekrana gelinir.

Page 9: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil12-Pers1.mbd Veri tabanının Personel ve Bölüm adlı tabloları

5) Tabloların alan isimleri ve türleri tanımlandıktan sonra yapılması gereken iş, her tablo

için en az birer alanı indeks (index) olarak tanımlamaktır. Bu işlem, tablolara daha hızlı erişimi sağlayacaktır. Bunun için, önce şekil12’deki ekranda Personel tablosunu seçiniz ve mouse sağ tuşuna tıklayınca açılan menü penceresinden Design menü komutunu seçiniz. Karşınıza şekil9’daki ekran gelecektir. Aslında bu ekran personel tablosunu oluşturmak için kullandığımız ekrandır. İndex oluşturma işini tabloyu oluşturmadan önce de gerçekleştirebiliriz. Biz, alan tanımlama ve index oluşturma gibi bir tablo için iki önemli işlemi, daha somut olarak birbirinden ayırmak için farklı madde başlıkları altında anlattık. Burada Add Index butonunu seçiniz. Şekil13 ekrana gelecektir.

Şekil13-Add Index Penceresi İndeks tanımlama penceresinde Sosy_g_n alanını birincil indeks olarak tanımlamak

istiyoruz. Name kutusuna Sosy_g_n yazınız. Mouse yardımı ile listeden bu alanın adını seçiniz. Primary Index (Birincil İndeks) kutusunu işaretleyiniz. Ayrıca Unique kutusunu işaretleyiniz. Böylece tabloda, birbirinin aynı olan sosyal güvenlik numaralarının yerleşmesine engel olursunuz. Ok butonunu seçiniz. Personel tablosu Sos_g_n ya göre indekslenmiştir.

6) Şimdi diğer pencereleri Close ile kapatarak Şekil12’deki pencereye dönünüz. Burada bolum tablosunu seçerek tablo için bolum_no’yu aynı şekilde birincil indeks olarak tanımlayınız.

Page 10: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

7) Şu anda ulaşılan nokta, tabloların alan isimleri, indeksleri ve veri türlerinin tanımlanmış olmasıdır. Şimdi, tanımlanan tablolar içine veri yüklemek gerekecektir. Önce personel tablosuna veri yüklemek isteyelim. Bunun için şekil12’deki pencerede mouse yardımı ile Personel tablosunu seçiniz. Mouse’un sağ tuşu yardımı ile Open menü seçeneğini seçiniz.

8) Şekil14’de görülen ekran gelecektir. Bu ekran sayesinde önce, Personel tablosuna ait

ilk kayıtı (record) ya da ilk satırı (row) girebiliriz. (Şekil15)

Şekil14-Personel tablosuna bilgi giriş ekranı İlk kayıta ait bilgileri girmek için Add butonu seçilir şekil15 ekrana gelecektir. Sonra

Update butonunu seçiniz. Aynı şekilde aşağıdaki tablodaki diğer bilgileri de girerek giriş bitince Close butonu ile tabloyu kapatınız. Örnek data olarak aşağıdaki tabloyu girdiğinizi varsayalım.

sosy_g_n ad sicil soyad dog_tar adres cins brut bo_no yon_s_g_n27641 ali 112 can 01/05/60 Fatih 1 80000000 1 037165 37654 ayşe 178 şen 04/07/65 Kadıköy 0 70000000 1 037165 176241 akın 217 öncel 11/07/64 Üsküdar 1 60000000 2 277143 27615 can 517 öner 05/08/65 Fatih 1 40000000 2 277143 57253 beril 618 meral 08/07/62 Pendik 0 37500000 2 277143 44721 ayşe 1540 cansu 07/08/63 Beşiktaş 0 48000000 3 577211

Page 11: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil15-Personel tablosuna kayıt girilmesi 9) Aynı şekilde bolum tablosu da aşağıdaki şekilde oluşturulmuş olsun.

bolum_ad bolum_no y_sos_g_n y_is_b_tar satış 1 037165 01/07/89 muhasebe 2 277143 02/08/91 üretim 3 577211 04/06/92 eğitim 4 443421 01/05/91 bilgi işlem 5 288111 05/02/92 TABLONUN YAPISI ÜZERİNDE DEĞİŞİKLİK YAPMA

Tablonun sütün başlıklarını (alanlarını) değiştirmek isteyebilirsiniz. Bu değişiklik alan

ismi ve türlerinde olabileceği gibi yeni alan ekleme ya da mevcut alanları silme şeklinde de olabilir. Bu amaçla aşağıda şekil16’da görülen ekranı getiririniz.

Şekil16-Veri tabanındaki tablolar

Page 12: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil16’daki ekranda, üzerinde değişiklik yapmak istediğiniz tabloyu mouse yardımı ile seçiniz. Sonra mouse’un sağ butonunu tıklatınca açılan menü penceresinden Design menü komutunu seçiniz. Şekil17’deki ekran gelecektir.

Şekil17-Tablo yapısında değişiklik için açılan ekran Şekil17’de değişiklik yapılmak istenen tablo alanı Field List kutusundan mouse ile

seçilir. Table Structure penceresinin sağ tarafındaki kutularda bu tablo alanı ile ilgili bilgiler otomatik olarak doldurulur. Değişiklik yapılmasına izin verilen tablo alanı özellikleri ile ilgili istenen değişiklikler böylece gerçekleştirilir. Add Field butonu seçilirse tabloya yeni bir alan (sütun) eklemek için gerekli ekran gelecektir. Mouse yardımı ile bir alan seçilip Remove Field butonu tıklanırsa, bu durumda da seçilen alan tablodan silinecektir.

MEVCUT BİR VERİ TABANINDAKİ VERİLERLE ERİŞİM

Şimdi Pers1.mbd adlı veri tabanını oluşturduğumuzu ve içine veri yüklediğimizi

biliyoruz. Visual Data Manager’ı kapattığımızı varsayalım. Visual Data Manager’ı yeniden yükleyerek File menüsünden Open Database/Microsoft Access’i seçelim. Şekil18’deki ekran gelir. Burada Pers1.mdb’yi seçerek OK butonunu tıklayalım.

Page 13: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil18-pers1.mbd adlı veri tabanının açılması

Şekil19-Veri tabanı ekranı

Burada veri tabanı içindeki bilgileri incelemek için iki yol vardır. 1)Sorgulanacak tabloyu mouse’un sağ butonu yardımı ile seçip Open menü komutunu

seçerek veya sorgulanacak tablo üzerinde çift tıklayarak tabloyu açmak. Bu durumda karşınıza Şekil20’deki ekran gelecektir. Bu ekranda kürsör indeksli alan üzerinde iken Find butonu seçilirse, belirtilen ifade tablo içinde aranır ve istenen kayıt bilgileri görüntülenir. Bir koşul bildirerek sorgulama yapmak için ise Query Builder menü komutu seçilir.

Page 14: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil20-Veri tabanını sorgulama ekranı Şekil21’deki ekranda örneğin adı ayşe olan kişileri bulmak için, Field Name alanına

personel.ad alanı seçilir. Operator olarak = sembolü ve value olarak ta ayşe yerşleştirilir. List Possible Values butonu ile seçilen alanın içerdiği bilgilerle ilgili yardım alınabilir. And into Criteria veya Or into Criteria butonları ile bu ifade Criteria penceresine aktarılır. Run butonu seçilirse, tablodaki ilk ayşe’nin bulunduğu kayıt gelecektir.(Şekil22) Show butonu seçilen sorgulama sonucu üretilen SQL ifadesini görüntüler.(Şekil23) Copy butonu ile bu SQL ifadesi SQL Statement penceresine kopyalanır. Save butonu ile de her defasında bu adımları uygulamadan, ilgili sorgulama tanımına Database penceresinden çift tıklanarak daha önce oluşturulmuş bir sorgulama pratik bir şekilde çalıştırılabilir. Şimdi dikkat edilirse, Şekil22’deki ekranda yatay hareket çubuğunun sol yanında ki ½ ifadesi ile sorgulama sonucunda elde edilen toplam 2 kayıttan ilkinin görüntülendiği bilgisi kullanıcıya iletilmektedir. Clear butonu ise, koşul belirtilerek yapılan sorgulamayı iptal eder.

Şekil21-Koşullu sorgulama ekranı

Page 15: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil22-Koşullu sorgulama sonucu

Şekil23-Sorgulama için üretilen SQL ifadesi 2) SQL Statement (SQL Deyimi) penceresine, tablonun sorgulanması ile ilişkili SQL

deyimini yazmak. Örneğin Şekil24’deki gibi SQL deyimi yazılıp Execute butonu seçilirse, gene şekil22’deki ekran gelecektir.

Şekil24-Tabloyu SQL Deyimi ile sorgulama SQL, Structured Query Language (Yapısal Sorgulama Dili), modern veri tabanı yönetim

yazılımları tarafından, veri tabanının yaratılması ve sorgulanması için kullanılan standart bir dildir.

Page 16: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

VERİ KONTROL NESNESİ İLE VERİ TABANLARINA ERİŞMEK

Visual Basic’te, veri tabanlarını sorgulamanın başka bir imkanı da, Veri Kontrol Nesnesini (Data Control) kullanmaktır.

Veri Kontrol Nesnesi, Araç Kutusu (Toolbox) içinde, yukarıdaki gibi görünür. Veri

kontrol nesnesini, form üzerine yerleştirdiğinizde ise aşağıdaki görünümü alacaktır.

ÖRNEK UYGULAMA: Şimdi, Veri Kontrol Nesnesini kullanarak, Pers1.mbd adlı veri tabanından bilgi almak

üzere bir uygulama geliştirelim. Bu amaçla aşağıdaki adımları izleyiniz. 1) Form üzerine Data1 adlı bir veri kontrol nesnesini ve Text1, Text2, Text3 adlı 3 tane

metin kutusunu yerleştiriniz. (Şekil25)

Şekil25- Veri Kontrol Nesnesi ve Text kutuları

Şekil26-Veri Kontrol Nesnesini Veri Tabanına bağlama 2) Data1 adlı veri kontrol nesnesinin DatabaseName özelliğine Pers1.mbd’yi

yerleştiriniz. ( Ya da arzu ettiğiniz ve mevcut olan başka bir veri tabanı ismi) (Şekil26)

Page 17: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

3) Data1 adlı veri kontrol nesnesinin, RecordSource (KayıtKaynağı) özelliğini seçiniz.

Buraya, seçtiğiniz veri tabanının içerdiği tablolardan birinin adını yerleştiriniz. Biz örnek uygulamamızda, Personel adlı tabloyu yerleştirdik (Şekil27)

Şekil27-Tablo adını seçmek 4) Text1’i seçiniz. Properties penceresinde, DataSource özelliği yerine, Data1’i

yerleştiriniz. DataField özelliği yerine de, Personel tablosunun ad alanını yerleştiriniz (Şekil28)

5) Aynı şekilde, Text2’nin, DataSource özelliğini Data1 yapınız ve DataField özelliğini

de soyad olarak düzenleyiniz. 6) Nihayet, Text3’ün DataSource özelliğini Data1 ve DataField özelliğini de brüt olarak

atayınız.

Şekil28-Text1’in ad alanı ile ilişkili kılmak 7) Run/Start ile projeyi çalıştırınız.

Page 18: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

Şekil29-Veri kontrol nesnesinin uygulanmasının görüntüsü

Şekil29’daki gibi, Personel tablosundaki ilk kaytın görüntülendiğini göreceksiniz.

butonu ile bir sonraki kayıta, butonu ile de bir önceki kayıta gidilebilir. butonu ile ilk

kayıta ve butonu ile de en son kayıta gidilebilir.

TASARIM ESNASINDA DEĞER ATANAN ÖZELLİKLER Veri kontrol nesnesinin, genellikle tasarım esnasında değer atanan bazı özellikleri

vardır. Bunlar aşağıda belirtilmiştir.

EXCLUSIVE ÖZELLİĞİ Exclusive özelliği Boolean (mantıksal) tipte bir özelliktir. Değeri True olarak atandığı

takdirde, veri tabanına açan kimse haricinde hiç kimse erişim yapamaz. Veri tabanı kapatıldıktan sonra başkaları erişim için açabilir. Default değeri False’tur.

CONNECT ÖZELLİĞİ

Connect özelliği, genellikle, çalışılan veri tabanı yönetim sitemi ile ilişkili dosya adıdır. Örneğin FoxPro, DbaseV gibi. Microsoft Access ile çalışıyorsa, bu özelliliğin atanması zorunlu değildir.

RECORDSETTYPE ÖZELLİĞİ

Kod yardımı ile ya da bir veri kontrol nesnesi ile bir RecordSet nesnesi yaratılmak istendiği zaman bu özelliğe atama yapmak gerekir. RecordSetType özelliği 3 farklı değere sahip olabilir.

0-Table 1-Dynaset 2-Snapshot

READONLY ÖZELLİĞİ

Değeri True ya da False olabilir. Değeri True ise, veri tabanından sadece okuma

yapılabilir. Veri tabanı üzerinde güncelleme (update) işlemi yapılamaz. Değeri False ise, bu

Page 19: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

durumda veri tabanından hem okuma yapılabilir hem de veri tabanı üzerinde güncelleme işlemi gerçekleştirilebilir. Yaygın kullanım şekli şöyledir: bu özellik, tasarım esnasında True olarak atanır; icra esnasında ise, değeri bir şifreye bağlı olarak False’a çevrilir. VERİ KONTROL NESNESİNİN İCRA ESNASINDA KONTROL EDİLEN ÖZELLİKLERİ

Veri kontrol nesnesinin bazı özellikleri için, işlevleri gereği, icra esnasında kontroller yaparak değer atamak sözkonusudur. Örneğin, veri tabanı tablosu içindeki kayıtların sadece okunabilir özellikte mi yoksa istenirse güncelleme de yapılabilir nitelikte mi olduğu, bir kod ile icra esnasında aşağıdaki gibi kontrol edilebilir.

If Data1.RecordSet.Updatable then Gerekli güncelleme komutları Else Veri tabanı tablosunun sadece görüntülenebilir olduğuna dair mesaj End if Burada, belirtilen işlemi gerçekleştirmek için veri kontrol nesnesinin Updatable

özelliği,kod içinde, icra esnasında kontrol edilmektedir.

BOF VE EOF ÖZELLİKLERİ Bunlar, veri tabanı tablosunun başlangıcında mı yoksa sonunda mı olduğunuzu kontrol

etmek için kullanılan özelliklerdir. BOF Beginning Of File-Dosyanın Başı EOF End Of File-Dosyanın Sonu anlamındadır. Tablonun başında iseniz, BOF özelliği True, tablonun sonuna gelmişseniz EOF özelliği

True olacaktır. Örneğin, tablo sonuna gelip gelmediğinizi kod içinde aşağıdakine benzer bir kod ile

kontrol edebilirsiniz. If Data1.RecordSet.EOF Then İşlem sonunda yapılması gereken komutlar Else Tabloyu taramaya devam End if

Veri kontrol nesnesindeki nesnesinin işlevini kod içerisinde,

Data1.RecordSet.MoveFirst methodunu uygulayarak, nesnesinin işlevini de

Data1.RecordSet.MoveLast methodunu uygulayarak gerçekleştirebiliriz. sembolü için

Data1.RecordSet.MoveNext kodu ve sembolü için de Data1.RecordSet.MovePrevious kodu kullanılabilir.

Page 20: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

ALAN NESNESİ İLE İŞLEMLER Bir veri tabanı tablosunun sütun başlıkları ya da kayıt içindeki farklı türdeki bilgiler bir

alan (field) oluştururlar. Örneğin Personel tablosundaki Ad, Soyad, Brüt vb birer alandır. Bir veri tablosu içinde mevcut olan alanlar istenirse görüntülenebilir. Örneğin, Personel tablosu içindeki alanlar görüntülenmek istenirse, aşağıdaki gibi bir kod yazılabilir.

Print Data1.RecordSet.Fields (“Personel”) Aynı komutu Print Data1.RecordSet (“Personel”) şeklinde de yazmak mümkündür.

Field(alan) nesnesi ile ilişkili olarak aşağıdaki özelliklerin belirtilmesinde yarar vardır. 1) Size özelliği, alanın byte türünden büyüklüğünü belirlemektedir. 2) Attributes özelliği, alanın sahip olduğu belli başlı nitelikleri belirlemektedir. Örneğin

alan sadece okunabilir mi ya da güncellenebilir mi vb. 3) Type özelliği, alanın içerdiği verilerin türü bakımından bilgi vermektedir. Alan

numerik bilgi mi içeriyor yoksa bir string bilgisi mi taşıyor vb. 4) Value özelliği, alan içerisinde saklanan değeri göstermektedir. METOT VE OLAYLAR UPDATE METHODU Bu method, kopyalama buffer’ının içeriğini tabloya ya da DynaSet’e gönderir.

Kopyalama buffer’ı, bilgilerin veri tabanına aktarılmadan önce geçici olarak tutulduğu bellek bölgesidir. Update methodu, SnapShot nesnesi ile kullanılamaz.

Kullanılış biçimi: Data1.RecordSet.Update REFRESH METHODU Bu method, bir veri kontrol nesnesine uygulanırsa, veri tabanının açılmasına sebebiyet

verir. DataBaseName, ReadOnly, Exclusive yada Connect özelliklerini değiştirdiğiniz zaman, veri tabanını yeniden açmak üzere bu methodun uygulanması zorunludur. Kullanılış biçimi,

Data1.Refresh şeklindedir. Refresh methodu uygulandıktan sonra, kayıt göstergesi aktif kayıttan ilk kayıta ötelenir. ADDNEW METHODU Kopyalama buffer’ını siler ve kayıt göstergesini tablo sonuna götürür. Sistem tarafından

kullanılan kopyalama buffer’ı boşaltıldığı için buraya yeni bilgi yollanabilir. Sonuçta, tabloya yeni bir satır eklenmesi için gerekli koşullar sağlanmış olur. Kullanılış biçimi, Data1.RecordSet.AddNew şeklindedir. AddNew methodu, tabloya yeni veri göndermemekte bu işi gerçekte Update methodu yapmaktadır.

Page 21: VİSUAL BASİC’İN VERİ TABANLARI · 2006-05-08 · VİSUAL BASİC’İN VERİ TABANLARI İLE ETKİLEŞİMİ VERİ TABANI SİSTEMİ Veri tabanı kavramı, bilgi ilem dünyasş

ÖRNEK: Personel adlı tablodaki bazı alanların icra esnasında güncellenebilmesi için, aşağıdaki gibi bir kod yazılabilir.

Data1.RecordSet.AddNew Data1.RecordSet.Fields(“brüt”)=70000000 Data1.RecordSet.Fields(“adres”)= “Cumhuriyet C.45-Taksim-İstanbul” Data1.RecordSet.Update EDIT METHODU ReadOnly özellikte olmayan tablolar üzerinde, aktif kayıtın içeriğini kopyalama

bufferına aktararak edit (içeriği değiştirme, düzenleme) olanağı sağlar. ÖRNEK: Aşağıdaki kod ile, personel tablosunda aktif kayıttaki brüt maaş

değiştirilmektedir: Data1.RecordSet.Edit BrutMaas=Data1.RecordSet.Fields(“brut”) Call MaasDegis (BrutMaas) Data1.RecordSet.Fields(“brut”) Data1.RecordSet.Update Burada MaadDegıs, maaş üzerinde değişiklik yapılan prosedürün adıdır. DELETE METHODU RecordSetteki aktif kayıtın silinmesini sağlar. Belli bir anda tek bir kayıt siler. Kullanılış

biçimi, Data1.RecordSet.Delete şeklindedir. Bir kayıtı sildikten sonra, kayıt göstergesi başka bir kayıtın üzerine gönderilmelidir.

(move metotlarından biri ile) Aşağıdaki kod ile tablodaki ilk kayıt silinmektedir. Data1.RecordSet.MoveFirst Data1.RecordSet.Delete Data1.RecordSet.MoveNext

VERİ TABANININ KAPATILMASI

Pers1.mdb adlı veri tabanını kapatmak için Close methodunu kullanmalısınız. Pers1.Close