Cevapla
 
Konu Seçenekleri
Eski 30-12-07, 19:06 Çevrimdışı   #1
Dekan
Huzur Pınarı
 
Yσкє∂!¢! - ait Avatar
Genel Mesajlar: 5.980
Teşekkür etti: 1.614
Teşekkür edildi: 2.186
RepForum Gücü: 72
Forum Puanı:25867
Yσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymaz
Ruhsal Durumum:
dikkat Veritabani Olusturmak(Anlatim)(Delphi)



ALIAS HAZIRLAMAK

Delphi’ de projelerde kullanilan veri tabani dosyalari gruplamak için kullanilan Alias adinda yeni kavram veya özellikler bulunmaktadir. Delphi projeleri dahilinde çok sayida veri tabani dosyalari üzerinde islem yaparken Delphi projeleri ile birlikte verilen Borland Database Engine programindan yararlanilmaktadir. Delphi ile birlikte ayrica Borland Database Engine programinin çalisma seklini ayarlamada kullanilan BDE Administrator adinda yardimci bir program verilmektedir.

BDE Administrator programi ile yapilan seçim ve ayarlamalar “CFG” uzantili bir dosyaya yazildigi için BDE Administrator programi penceresinin basligina ayrica üzerinde islem yapilan CFG uzantili dosyanin adi eklenmektedir.
BDE Administrator penceresinde menu çubugundaki menülerden baska Database ve Configuration adinda iki sekme bulunmaktadir. Configuration sekmesinde Drivers ve System adinda iki seçenek bulunmaktadir. Drivers seçenegi ile sürücüsü yüklü olan veri tabanlarini görebilir ve sürücü dosyalarinin özelliklerinde degisiklik yapabilirsiniz.

Yeni bir Alias hazirlamak veya daha önce hazirladiginiz Aliasin özelliklerinde degisiklik yapmak istiyorsaniz Databese sekmesine gelmeniz gerekir. Seçildiginde birçok Alias seçilmektedir.

Mevcut Aliaslardan hangisi hakkinda bilgi edinmek veya özelliklerinde
degisiklik yapmak istiyorsaniz o Aliasi seçmeniz gerekir. Asagida verilen ekran görüntüsünü DBDEMOS adli Aliasi seçtikten sonra aldim.

Yeni bir alias hazirlamak için Databases sekmesi seçili durumda iken Object menüsünden New komutu verilmelidir.

Bu liste kutusunu açip Delphi projeleri dahilinde kullanilabilecek veri tabani sürücülerini görebilirsiniz. Baslangiçta STANDART adili veri tabani sürücüsünü kullanmak istedigim için New Database Alias diyalog kutusunda herhangi bir islem yapmadan OK dügmesine tiklama yaparak standart özelliklere sahip bir Aliasin hazirlanmasini sagladim.

Bu Aliasin adini DelphiBook olarak degistirdim. Ancak bu yeni hazirladigimiz Alias yardimi ile açilacak ve üzerinde islem yapilacak veri tabani dosyalarinin hangi sürücü ve klasörde yer alacagi henüz belli degildir. Default Driver parametresinin içerigini dBASE olarak degistirelim.

Örnek olmasi için hazirlayacagim veri tabani dosyalarini “C:\Ornekler” dizini içinde saklamayi düsündüm. BDE Administrator penceresinde hazirladigim yeni Aliasin Path paremetresine “C:\Ornekler” yazdim. Bu Alias yardimi ile dBASE formatinda hazirlayacagim veri tabani dosyalarinda kayitlarin Türkçe’nin alfabetik sirasina göre siralanmasini istedigim için hazirladigim Alias için dil seçimi yaptim. Bu amaçla Configuration sekmesine geçtim. Dbase sürücüsünü seçip LANGDRIVER seçenegi ile açip dBASE sürücüsü için Türkçeyi seçtim.

Bu ayarlamalardan sonra CFG uzantili Configuration dosyasini hard diske kaydettim. Object menüsünden Configuration komutu verilir. Idapi32.cfg olarak kaydedilir.

BÖLÜM 14
VERI TABANI DOSYASI HAZIRLAMAK

Delphi dahilinde dBASE, Paradox, InterBase formatinda veri tabani dosyasi hazirlayip üzerinde islem yapabilirsininiz. Yeni bir veri tabani dosyasi hazirlamak için Delphi ile verilen DataBase Desktop programindan yararlanilmaktadir. Tools menüsündeki Database Desktop komutu verilerek uygulama baslatilir. Yeni bir veri tabni dosyasi için Databse Desktop penceresinden File menüsünden New komutu verilir. Alt menüden Table komutunu verecek olursaniz dosyanin formatinin seçildigi Table Type diyalog kutusu ekrana gelir. Bu diyalog kutusunudan “dBASE for Windows” dormatini seçelim.

OK tusuna basildiginda veri tabani dosyasinin kayit yapisini belirten diyalog kutusu ekrana gelir. Veri tabani dosyalarinin kayit yapisi veya dosyada yer alacak alanlar bu sekilde belirlendikten sonra sira kayit arama islemlerinde kullanilacak olan Indexlerin seçimine gelir. Hazirlanmak istene veritabani dosyasi için Index hazirlamak için bu diyalog kutusundaki Table Properties liste kutusunda Index seçenegi varken Define dügmesine tiklama yapilir. Ekrana gelen Define Index diyalog kutusunda bütün alanlar listelenir. Alan seçili duruma getirilir. Dosyada ayni soyada sahip olan birden fazla kaydin olmasina izin vermek istemiyorsaniz Unique onay kutusunu, eger NDX dosyalarini kullanmak istiyorsaniz Maintained onay kutusunu seçili olma durumunu iptal etmelisiniz.
Baslangiçta NDX uzantili index dosyasinin nasil hazirlandigini göstermek için Maintained onay kutusunu pasif duruma getirdim. Index veri tabani dosyasinda bulunan bütün kayitlari dahil etmek istemiyorsaniz Subset Condition (Filter) Expression metin kutusuna filtre sartlarini yazabilirsiniz. Gerekli ayarlamalar yapilip OK dügmesine basildiginda Save Index As diyalog kutusu ekrana gelir. Index File Name kutusunda dosya adi girilip Ok yapilirsa NDX uzantili index dosyasi hazirlanmis olur.

Daha önce hazirlamis oldugunuz Indexte degisiklik yapmak istiyorsaniz Modify dügmesine, silmek istiyorsaniz Erase dügmesine tiklama yapmaniz gerekir. SOYAD.NDX uzantili dosyayi silip MDX uzantili dosya olusturmak için bu dosya Erase ile silinir. Define dügmesine tiklayarak define index kutusunu ekrana getirilir. MDX uzantili dosya hazirlamak için Maintained onay kutusu seçilir. Index Tag Name metin kutusunda dosya adi yazilir.

Veri tabani dosyasi için anlatilan sekilde Index hazirlandiktan sonra, dosya için dil seçimi yapmak gerekir. Dil seçimi için ilk olarak Table Properties liste kutusunu açip Table Language seçenegini seçmek gerekir. Modify dügmesine tiklayip dBASE TRK cp857 seçilir.
Bu islem de tamamlandiktan sonra simdi de kaydedelim. Save As dügmesine tiklayinca Save Table As diyalog kutusu ekrana gelir. Burada Alias DelphiBook olarak seçilir. Dosya Ornekler dizinine kaydedilir. Dosya açilidiktan sonra su ekran gelir:

Veri tabani dosyasina kayit girisi yapmak istiyorsaniz Table menüsünden Edit Data komutu veya F9 kisa yol tusu kullanilabilir.

Eger veri tabani dosyasinin yapisinda degisiklik yapmak istiyorsaniz Tools menüsünden Utilities alt menüsünden Restructure komutu verilir

BÖLÜM 15
VERI TABANI DOSYALARI ÜZERINDE ISLEM YAPMAK

Bu bölümde DataBase Desktop veya dBASE, Paradox gibi veri tabani programlari ile hazirlanmis olunan veri tabani dosyalari üzerinde Delphi projeleri dahilinde nasil islem yapildigini anlatacagim. Bu islemi bir önceki bölümde hazirladim ve ADRES.DBF adiyla kaydettigim veri tabani dosyasi üzerinde anlatacagim.
Bu amaçla yapilacak islem, Component Palette araç çubugundaki Data Access sekmesine tiklamaktir.

Data Access sekmesinde daha önce hazirlanip kaydedilen bir veri tabani dosyasinin içerigini görüntülemek veya dosyaya yeni kayitlar eklemek için ilk gerek duyulan kayitin adi Table’ dir. Component Palette araç çubugunda Data Accsess sekmesinde yer alan Table dügmesi seçili durumda iken projenin formu üzerinde tiklama yaparak Table nesnesi forma eklenir.

Object Inspector penceresinde Table nesnesi ile ilgili olarak en basta Database Name özelliginden yararlanarak Alias seçimi yapilir. Üzerinde islem yapmak istediginiz dosyayi hangi Alias’a dayandirarak hazirladiysaniz o Aliasi seçmeniz gerekir. Bir önceki bölümde DelphiBook adinda Bir Alias hazirlanmis ve ADRES.DBF dosyasini bu Aliasa dayandirarak hazirlamistim. Table nesnesinin Database Name özelligi ile Alias seçiminden sonra sira veri tabani dosyasini seçmeye gelir. Veri tabani dosyasi Table nesnesine ait TableName özelliginden faydalanilarak Adres.DBF dosyasi eklenir.

DatabaseName özelligi ile Alias , TableName özelligi ile veri tabani dosyasi seçimi yapildiktan sonra sira Table nesnesine ait Active özelligne True degerini aktarmaya gelir. Böylece Table nesnesi ile ilgili olarak mutlaka yapilamsi gereken islemler yapildi. Ancak Delphi’de veri tabani dosyalari üzerinde pratik bir sekilde islem yapmak için Table kontrolü tek basina yeterli gelmiyor. Table kontrolüne yardimci olmasi için Forma ayrica DataSource kontrolünün de dahil edilmesi gerekir.
Ancak bu bölümde önce DataSource kontrolünden yararlanmadan veri tabani dosyasi üzerinde islem yapacagim. Bu amaçla forma ekledigimiz Table nesnesinin üzerine sag fare ile tiklayip table nesnesi araciligi açilan dosyanin üzerinde islem yapmak istenen alanlari için önceden bazi tanimlamalar yapilmak için Fields Editor komutunu verdim. Table nesnesinin adini içeren bos bir diyalog kutusu ekrana gelir.
Açilan bu diyalog kutusunun içinde iken sag fare tusuna basilip Add fields komutu verilirse veri tabani dosyasinda hazirlanan alanlar eklenir.

Çalisma aninda üzerinde bulunan kaydin SOYAD alaninin içerigi Table1SOYAD nesnesinin Text özelliginde, AD alaninin içerigi ise Table1AD nesnesinin tex özelliginde saklanir. Table nesnesini içeren forma sahip olan proje çalistirilir çalistirilmaz kayit okuma kafasi daha önce seçilen veri tabani dosyasindaki ilk kaydin üzerine konumlanir. Simdi örnek olmasi için çalisma üzerinde tiklama yapildigi zaman isletilecek bir program satirini projedeki tek formun FormClick yord***** dahil edecegim.
ShowMessage (Table1AD.Text);

Table nesnesi yardimi ile açilan ve her alani için Fields Editor penceresinde tanimlama yapilan bu dosyadaki aktif kaydin bütün içerigini ekrana getirmek için üzerinde çalistigim projenin tek formuna 5 Label ve 5 Edit kutusu ilave ettim. Table1AD nesnesine ait text degiskeninin içerigi, Edit1 kutusuna Table1SOYAD nesnesine ait text degiskeninin içerigi Edit2 metin kutusuna ilave edilir.
Bu islemler çalistirilir çalistirilmaz otomatik olarak yapilacagi için, bu islemleri yapacak program satirlarini forma ait FormCreate yord***** yazdim.
begin
Edit1Text := Table1AD.Text;
Edit2Text := Table1SOYAD.Text;
Edit3Text := Table1ADRES.Text;
Edit4Text := Table1TEL.Text;
Edit5Text := Table1SEHIR.Text;
Proje çalistirilir çalistirilmaz asagidaki ekran görüntüsü elde edildi.

15.1 Dosyadaki Kayitlar Arasinda Dolasmak

Daha önce hazirladigim ADRES.DBF adindaki veri tabani dosyasinda yalnizca bir kayit vardi. Database Desktop programini çalistirdim ve dosyadaki kayit sayisini üçe çikardim.

Çalisma aninda tablodaki bir sonraki kayit üzerine gitmek için projenin formuna Sonraki Kayit basligina sahip bir dügme dahil ettim. Table kontrolü yardimi ile açilan veri tabani dosyasindaki kaydin üzerine gitmek için Next metodundan yararlanilmaktadir. Bu amaçla çalisma aninda formdaki dügmenin üzerinde tiklama yapildigi zaman isletilmek üzere dügmeye ait Click yordamini söyle düzenledim:

Begin;
Table1.Next;
Edit1.Text := Table1AD.Text;
Edit2.Text := Table1SOYAD.Text;
Edit3.Text := Table1ADRES.Text;
Edit4.Text := Table1TEL.Text;
Edit5.Text := Table1SEHIR.Text;
Eger çalisma aninda bir önceki kayda dönmek istiyorsaniz eklenen dügmeye Prior metodu uygulanmalidir. Yani;
Begin;
Table1.Prior;
Edit1.Text := Table1AD.Text;
Edit2.Text := Table1SOYAD.Text;
Edit3.Text := Table1ADRES.Text;
Edit4.Text := Table1TEL.Text;
Edit5.Text := Table1SEHIR.Text;

15.2 Dosyalarda Yeni Kayitlar Eklemek ve Kayitlarda Degisiklik Yapmak

Table nesnesi ile açilip erisim saglanan veri tabani dosyasinin sonuna yeni bir kayit eklemek için Append metodundan yararlanmaktir. Yeni Kayit adli ikona asagidaki program satirlari yazilir;
Begin;
Table1.Append;
Edit1.Text := ‘ ’;
Edit2.Text := ‘ ‘;
Edit3.Text := ‘ ‘ ;
Edit4.Text := ‘ ‘;
Edit5.Text := ‘ ‘;
Edit1.SetFocus;
Önce dosyanin sonuna içerigi bos bir kayit eklenir. Ardindan aktif kaydin içerigini görüntülemede kullandigimiz metin kutularinin içerigini silmektir. SetFocus metodu yardimi ile ekleme noktasi bilgi girisi için formdaki ilk metin kutusunda hazir olarak bekler. Çalisma aninda bu metin kutularina girilecek bilgileri dosyanin sonuna yazilan bos kayda aktarmak için Forma “Degistir” basligina sahip bir dügme ekledim. Üzerinde bulunulan kaydin içerigin formdaki metin kutularina girilmis veya degistirilmis bilgiler ile degistirmek için UpdateRecord metodundan yararlanilmaktadir. Bu nedenle ortama ait Click yordamini asagidaki gibi düzenledim;
Begin;
Table1.Edit;
Table1AD.Text := Edit1.Text;
Table1SOYAD.Text := Edit2.Text;
Table1ADRES.Text := Edit3.Text;
Table1TEL.Text := Edit4.Text;
Table1SEHIR.Text := Edit5.Text;
Table1.UpdateRecord;

15.3 Dosyadan Kayit Silmek
Veri tabani dosyasindan hangi kaydi silmek istiyorsaniz , o kaydi aktif hale getirip Delete metodunu kullanmaniz yeterlidir. Bunun için form üzerine Kayit Sil dügmesi ekledim. Ardindan bu yordamin Click ort***** asagidaki program satirini yazdim.
Begin ;
Table1.Delete;
Table1.Prior;
Edit1.Text := Table1AD.Text;
Edit2.Text := Table1SOYAD.Text;
Edit3.Text := Table1ADRES.Text;
Edit4.Text := Table1TEL.Text;
Edit5.Text := Table1SEHIR.Text;
end;
Bütün gelismis programlarda oldugu gibi kayit silme islemi öncesi kullanicidan onay alabilirsiniz. Kayit silme islemi öncesinde kullanicidan onay almak için “Kayit Sil” baslikli dügme için hazirladigim program kodlarini asagidaki gibi düzenledim.
Var;
Tus : Integer;
Begin;
Tus := Application.MessageBox(‘Kayit Silinsin mi?’,
‘Borland Delphi’, mb_YesNo);
if Tus = IDYES Then
Begin;
Table1.Delete;
Table1.Prior;
Edit1.Text := Table1AD.Text;
Edit2.Text := Table1SOYAD.Text;
Edit3.Text := Table1ADRES.Text;
Edit4.Text := Table1TEL.Text;
Edit5.Text := Table1SEHIR.Text;

Bu düzenlemelerden sonra program çalistirilacak olunursa asagidaki mesaj kutusu ile karsilasilir.

15.4 Veri Tabani Dosyalarini Açmak ve Kapatmak

Bu bölümün daha önceki sayfalarinda belirtildigi gibi Delphi projeleri içerisinde Table nesnesi ile temsil edilen veri tabani dosyasini açmak için tasarim aninda Object Inspector penceresinde Table nesnesine ait Action degiskenine True degerini aktarmak yeterli oluyordu. Bunun disinda çalisma aninda program yazarak Table nesnesine ait Action degiskenine True degeri aktarilarak dosya açilabiliyordu. Bu anlatilanlarin disinda, Open metodu ile veri tabani dosyasi açilabilir ve Close metodu ile kapatabilirsiniz.
Begin
Table1.Open;
Edit1.Text := Table1AD.Text;
Edit2.Text := Table1SOYAD.Text;
Edit3.Text := Table1ADRES.Text;
Edit4.Text := Table1TEL.Text;
Edit5.Text := Table1SEHIR.Text;

15.5 Index Dosyalarini Kullanmak

Daha önce ADRES.DBF dosyasini Database Desktop ile hazirlarken Soyad alanina göre indexleme yapmistik. Simdiye kadar hazirlandigin bu indexten yararlanmadim. Bu nedenler kayitlar ekrana kayit edildikleri sira ile geldi. Soyada göre kayitlari ekrana getirmek için Table nesnesi seçili iken Object Inspector penceresinde IndexName özellige ait liste kutusu açilir. Soyad adli Index seçilir.
Bunun disinda Index tanimlanmasi yapilan diyalog kutusunda Unique adinda bir ony kutusu vardi. Eger bu aktif hale getirilirse çalisma aninda yalnizca ayni soyada sahip ilk kayda erisim saglanabilir. Bunun için Form Click ort***** su satir yazilir:
Begin
Table1.Index := ‘’ ;
Eger tasarim aninda Object Inspector penceresi araciligi ile bir indexi seçmediyseniz, çalisma aninda geçerli olmak üzere program kodu yazarak Index name degiskeninin içerigini degistirip daha önce hazirlamis oldugunuz indexi devreye sokabilirsiniz.

Table1.IndexName := 'SOYAD';
Table1.Open;
Edit1.Text := Table1AD.Text;
Edit2.Text := Table1SOYAD.Text;
Edit3.Text := Table1ADRES.Text;
Edit4.Text := Table1TEL.Text;
Edit5.Text := Table1SEHIR.Text;

15.6 Dosyadaki Ilk ve Son Kaydin Üzerine Gitmek

Delphi projesi içerisinde Table nesnesi ile temsil edilen veri tabani dosyasindaki ilk kaydin üzerine bir seferde gitmek için First degiminden faydalanilir.
Table1.First;
Edit1.Text := Table1AD.Text;
Edit2.Text := Table1SOYAD.Text;
Edit3.Text := Table1ADRES.Text;
Edit4.Text := Table1TEL.Text;
Edit5.Text := Table1SEHIR.Text;

Eger istenilen kayda belirli araliklarla gidilmek isteniyorsa o zaman program satirina sunlari yazmak gerekir;

Table1.MoveBy(Adim degeri);
Edit1.Text := Table1AD.Text;
Edit2.Text := Table1SOYAD.Text;
Edit3.Text := Table1ADRES.Text;
Edit4.Text := Table1TEL.Text;
Edit5.Text := Table1SEHIR.Text;

15.7 Dosya Sonu Kontrolü – EOF ve BOF Özellikleri

Kayit okuma kafasini dosya sonunda olup olmadigini Table nesnesine ait EOF özelliginden yararlanilarak ögrenilir. Eger kayit okuma kafasi dosyanin sonunda ise EOF özelligi True degerine, degilse False degerine sahip olur. EOF özelliginin islevini görmek için çalistigim projenin bir sonraki kayda gitmede kullandigimiz yordami asagidaki gibi degistirdim.

Table1.Next;
Edit1.Text := Table1AD.Text;
Edit2.Text := Table1SOYAD.Text;
Edit3.Text := Table1ADRES.Text;
Edit4.Text := Table1TEL.Text;
Edit5.Text := Table1SEHIR.Text;
If Table1.Eof = True then
ShowMessage ('Dosyanin Sonundasiniz!!!');

15.8 Veri Tabani Dosyasini Yalniz Okunabilir Yapmak – (Read Only)

Eger table nesnesi araciligi ile açtiginiz dosyada herhangi bir degisiklik yapmak istemiyorsaniz Object Inspector penceresinde Table nesnesine ait ReadOnly degiskenine True degerini aktarabilirsiniz. Ancak açik veya Active degiskeni True degerini içeren bir Table nesnesinin ReadOnly özelliginde degisiklik yapmak mümkün degildir. Bunun için Table nesnesine ait Active degiskenine false degerini aktarip ondan sonra ReadOnly degiskenine True degerini aktarmaniz gerekir. ReadOnly degiskenine true degerini aktardiktan sonra tekrar active degiskenine True degerini aktarip dosyanin içerigine erisim saglayabilirsiniz.


Şahit olsun Kainat, Alemler şahit olsun .
Titreyen sesin ile Yüregin şahit olsun.
Çok Yakın Güzel Günler,Bir Kez Daha Ufka Bak,
Hep Semaya Açtıgın,Ellerin Şahit Olsun.

Ö(lürsem)S(ebebi)S(ensin)


Deli Var YakalaYın
  Alıntı ile Cevapla
Cevapla

Konu Seçenekleri

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı

Powered by vBulletin Copyright © 2000-2008 Jelsoft Enterprises Limited.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.
http://www.zamansiz.com

Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 03:41 .