-Bu yazıda SQL dilinden yararlanarak Query kontrolü yardımıyla veritabanları üzerinde nasıl işlem yapıldığını anlatacağım.Query kontrolü hakkında bilgi verirken sizin açtığınız default.db dosyasını kullanacaz. ( bu dosyayı siz açacaksınız) Query kontrolünü temsil eden düğme BDE sekmesinde bulunur.--
-Query kontrolünün nasıl kullanıldığını size anlatırken yararlanacağımız ’ default’ dosyasındaki bazı alanlar için forma ’Edit’ nesneleri yerleştirelim.Query kontrolü yardımıyla veritabanları üzerinde işlem yaparken başlangıçta DataSource kontrolünden yararlanmayacağım.--
-DataSource kontrolünden yararlanma yolunu seçmiş olsaydım Edit yerine DBEdit kontrolünü tercih etmem gerekirdi.Query kontrolü konusunda ilk olarak DatabaseName özelliği sayesinde Alias seçimi yapılır.--
-DatabaseName özelliği ile üzerinde işlem yapılmak istenen dosyanın dahil olduğu Alias seçildikten sonra SQL özelliği ile tablo ve alanlar belirlenir.Query nesnesinin TableName adında Bir özelliği yoktur.Query nesnesi ile üzerinde işlem yapılacak tablo ve alanlar belirlenirken SQL dilinin deyimlerinden yararlanılır. --
-SQL özellliğine ait düğmede tıklama yapılırsaekrana String List Editör diyalog kutusu gelir. bu diyalog kutusunda SQL dilinde program kodu yazılır.Söz konusu tablonun kayıtlarını ekrana getirmek veya listelemek istiyorsanız SQL dilinin SELECT deyiminden yararlanmanız gerekir. --
-Şimdi SQL dilinin kuralına göre azılan program kodu sayesinde Query nesnesi ile ’defaults’tablosu arasında bağlantı kurulur.SELECT deyiminden sonra kullanılan’’*’’işareti tablodaki bütün alanlar anlamına gelmektedir.--
-’defaults’’tablosundaki bütün alanlar ile ilgilenmek istiyorsanız bu alanları birazdan vereceğim SELECT deyiminin yanına tek tek yazmanız gerekir.Bu şekilde SQL dilinin kurallarına göre program kodu yazdıktan sonra String List Editör diyalog kutusunu kapatmalısınız.--
-ÖRNEK2:--
---DataSource kontrolünden yararlanmadan Query kontrolü ile tablolar üzerinde işlem yapmak istiyorsanız tablodaki alanlar için statik alan tanımlamanız gerekir. SELECT deyimi ile seçtiğiniz tablo için statik alan tanımlamak isityorsanız Query nesnesine ait kısayol menüsünü açmanız gerekir.--
--
-Query nesnesi için statik alan tanımlamak üzere kısayol menüsünden Fields Editor komutu verirseniz ekrana Fields penceresi gelir.Fields penceresinde Query nesnesi için daha önce tanımlanmış olan alanlar listelenir.--
-Alan tanımlamak üzere bu pencereye ait kısayol menüsünde Add Fields komutunu verirseniz ilgili tablodan SELECT deyimi ile seçilen alanların listelendiğini Add Fields penceresi ekrana gelir. Başlangıçta bu pencerede listelenen bütün alanlar seçilidir.--
-Add Fields penceresinde bütün alanlar seçili iken OK düğmesine tıklama yaparak statik alan tanımlama işlemini tamamladım. Bu işlemden sonra proje çalıştırıldığında bu tablodaki ilk kaydın içeriini tanımlanan statik alanlara aktarılır.--
-Bu alanların içeriklerini forma yerleştirdiğğim metin kutularına aktarmak için FormCreate() yordamını aşağıdaki gibi düzenledim.Bu yordam sayesinde proje çalıştırıldığında ’’defaults’’ dosyasındaki ilk kaydın içeriği metin kutularına aktarılır.--
---Konunun daha iyi anlaşılmasını sağlamak için forma bir düğme yerleştirdiğimiz zaman bu düğmede tıklama yapıldığında Next () metodu sayesinde tablodaki birsonraki kaydın üzerine gidilir ve bu kaydın içeriği formdaki metin kutularına aktarılır.--
--
---ÖRNEK4:----
-Query kontrolünün nasıl kullanıldığını size anlatırken yararlanacağımız ’ default’ dosyasındaki bazı alanlar için forma ’Edit’ nesneleri yerleştirelim.Query kontrolü yardımıyla veritabanları üzerinde işlem yaparken başlangıçta DataSource kontrolünden yararlanmayacağım.--
-DataSource kontrolünden yararlanma yolunu seçmiş olsaydım Edit yerine DBEdit kontrolünü tercih etmem gerekirdi.Query kontrolü konusunda ilk olarak DatabaseName özelliği sayesinde Alias seçimi yapılır.--
-DatabaseName özelliği ile üzerinde işlem yapılmak istenen dosyanın dahil olduğu Alias seçildikten sonra SQL özelliği ile tablo ve alanlar belirlenir.Query nesnesinin TableName adında Bir özelliği yoktur.Query nesnesi ile üzerinde işlem yapılacak tablo ve alanlar belirlenirken SQL dilinin deyimlerinden yararlanılır. --
-SQL özellliğine ait düğmede tıklama yapılırsaekrana String List Editör diyalog kutusu gelir. bu diyalog kutusunda SQL dilinde program kodu yazılır.Söz konusu tablonun kayıtlarını ekrana getirmek veya listelemek istiyorsanız SQL dilinin SELECT deyiminden yararlanmanız gerekir. --
-Şimdi SQL dilinin kuralına göre azılan program kodu sayesinde Query nesnesi ile ’defaults’tablosu arasında bağlantı kurulur.SELECT deyiminden sonra kullanılan’’*’’işareti tablodaki bütün alanlar anlamına gelmektedir.--
Kod:
SELECT * From defaults
-ÖRNEK2:--
Kod:
SELECT default_adı, Default_kodu, Telefon, Adres FROM defaults
--
-Query nesnesi için statik alan tanımlamak üzere kısayol menüsünden Fields Editor komutu verirseniz ekrana Fields penceresi gelir.Fields penceresinde Query nesnesi için daha önce tanımlanmış olan alanlar listelenir.--
-Alan tanımlamak üzere bu pencereye ait kısayol menüsünde Add Fields komutunu verirseniz ilgili tablodan SELECT deyimi ile seçilen alanların listelendiğini Add Fields penceresi ekrana gelir. Başlangıçta bu pencerede listelenen bütün alanlar seçilidir.--
-Add Fields penceresinde bütün alanlar seçili iken OK düğmesine tıklama yaparak statik alan tanımlama işlemini tamamladım. Bu işlemden sonra proje çalıştırıldığında bu tablodaki ilk kaydın içeriini tanımlanan statik alanlara aktarılır.--
-Bu alanların içeriklerini forma yerleştirdiğğim metin kutularına aktarmak için FormCreate() yordamını aşağıdaki gibi düzenledim.Bu yordam sayesinde proje çalıştırıldığında ’’defaults’’ dosyasındaki ilk kaydın içeriği metin kutularına aktarılır.--
Kod:
****__fastcall TForm1::FormCreate (TObject *Sender)
{
Query1->Open() ;
Edit1->Text = Query1default_kodu->Text;
Edit2->Text = Query1default_adı->Text;
Edit3->Text = Query1Telefon->Text;
Edit4->Text = Query1Adres->Text;
---Konunun daha iyi anlaşılmasını sağlamak için forma bir düğme yerleştirdiğimiz zaman bu düğmede tıklama yapıldığında Next () metodu sayesinde tablodaki birsonraki kaydın üzerine gidilir ve bu kaydın içeriği formdaki metin kutularına aktarılır.--
--
---ÖRNEK4:----
Kod:
****__fastcall TForm1::SonrakiClick (TObject *Sender)
{
Query1->Open() ;
Edit1->Text = Query1default_kodu->Text;
Edit2->Text = Query1default_adı->Text;
Edit3->Text = Query1Telefon->Text;
Edit4->Text = Query1Adres->Text;
