Root > Documents > Programlama > Query Kontrolü ve SQL Programlama Dili
Cyber-Warrior.Org \ Doküman \ Programlama > Query Kontrolü ve SQL Programlama Dili
Madde
  Yazar : d4rkvisuaL
  Date : 07.07.2012 17:33:41
 
# Query Kontrolü ve SQL Programlama Dili
 

Bu yazida SQL dilinden yararlanarak Query kontrolü yardimiyla veritabanlari üzerinde nasil islem yapildigini anlatacagim.Query kontrolü hakkinda bilgi verirken sizin açtiginiz default.db dosyasini kullanacaz. ( bu dosyayi siz açacaksiniz) Query kontrolünü temsil eden dügme BDE sekmesinde bulunur.

Query kontrolünün nasil kullanildigini size anlatirken yararlanacagimiz ’ default’ dosyasindaki bazi alanlar için forma ’Edit’ nesneleri yerlestirelim.Query kontrolü yardimiyla veritabanlari üzerinde islem yaparken baslangiçta DataSource kontrolünden yararlanmayacagim.

 DataSource kontrolünden yararlanma yolunu seçmis olsaydim Edit yerine DBEdit kontrolünü tercih etmem gerekirdi.Query kontrolü konusunda ilk olarak DatabaseName özelligi sayesinde Alias seçimi yapilir.

DatabaseName özelligi ile üzerinde islem yapilmak istenen dosyanin dahil oldugu Alias seçildikten sonra SQL özelligi ile tablo ve alanlar belirlenir.Query nesnesinin TableName adinda Bir özelligi yoktur.Query nesnesi ile üzerinde islem yapilacak tablo ve alanlar belirlenirken SQL dilinin deyimlerinden yararlanilir. 

 SQL özellligine ait dügmede tiklama yapilirsaekrana String List Editör diyalog kutusu gelir. bu diyalog kutusunda SQL dilinde program kodu yazilir.Söz konusu tablonun kayitlarini ekrana getirmek veya listelemek istiyorsaniz SQL dilinin SELECT deyiminden yararlanmaniz gerekir. 

Simdi SQL dilinin kuralina göre azilan program kodu sayesinde Query nesnesi ile ’defaults’tablosu arasinda baglanti kurulur.SELECT deyiminden sonra kullanilan’’*’’isareti tablodaki bütün alanlar anlamina gelmektedir.

ÖRNEK:

 SELECT * From defaults

’’defaults’’tablosundaki bütün alanlar ile ilgilenmek istiyorsaniz bu alanlari birazdan verecegim SELECT deyiminin yanina tek tek yazmaniz gerekir.Bu sekilde SQL dilinin kurallarina göre program kodu yazdiktan sonra String List Editör diyalog kutusunu kapatmalisiniz.

ÖRNEK2:

SELECT default_adi, Default_kodu, Telefon, Adres FROM defaults

DataSource kontrolünden yararlanmadan Query kontrolü ile tablolar üzerinde islem yapmak istiyorsaniz tablodaki alanlar için statik alan tanimlamaniz gerekir. SELECT deyimi ile seçtiginiz tablo için statik alan tanimlamak isityorsaniz Query nesnesine ait kisayol menüsünü açmaniz gerekir.

Query nesnesi için statik alan tanimlamak üzere kisayol menüsünden Fields Editor komutu verirseniz ekrana Fields penceresi gelir.Fields penceresinde Query nesnesi için daha önce tanimlanmis olan alanlar listelenir.

Alan tanimlamak üzere bu pencereye ait kisayol menüsünde Add Fields komutunu verirseniz ilgili tablodan SELECT deyimi ile seçilen alanlarin listelendigini Add Fields penceresi ekrana gelir. Baslangiçta bu pencerede listelenen bütün alanlar seçilidir.

Add Fields penceresinde bütün alanlar seçili iken OK dügmesine tiklama yaparak statik alan tanimlama islemini tamamladim. Bu islemden sonra proje çalistirildiginda bu tablodaki ilk kaydin içeriini tanimlanan statik alanlara aktarilir.

Bu alanlarin içeriklerini forma yerlestirdiggim metin kutularina aktarmak için FormCreate() yordamini asagidaki gibi düzenledim.Bu yordam sayesinde proje çalistirildiginda ’’defaults’’ dosyasindaki ilk kaydin içerigi metin kutularina aktarilir.

ÖRNEK3:

Void__fastcall TForm1::FormCreate (TObject *Sender)

{

Query1->Open() ;

Edit1->Text = Query1default_kodu->Text;

Edit2->Text = Query1default_adi->Text;

Edit3->Text = Query1Telefon->Text;

Edit4->Text = Query1Adres->Text;

Konunun daha iyi anlasilmasini saglamak için forma bir dügme yerlestirdigimiz zaman bu dügmede tiklama yapildiginda Next () metodu sayesinde tablodaki birsonraki kaydin üzerine gidilir ve bu kaydin içerigi formdaki metin kutularina aktarilir.

ÖRNEK4:

Void__fastcall TForm1::SonrakiClick (TObject *Sender)

{

Query1->Open() ;

Edit1->Text = Query1default_kodu->Text;

Edit2->Text = Query1default_adi->Text;

Edit3->Text = Query1Telefon->Text;

Edit4->Text = Query1Adres->Text; 

   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©