Anasayfa » Delphi » TQuery Veri Sorgulama

TQuery Veri Sorgulama

9 Nisan 2010  |  Yazar: coders  |  Yorum Yok  |  28 kez okundu
Facebook'da Paylaş Twitter'da Paylas FriendFeed'de Paylaş TQuery Veri Sorgulama

KONTROLÜ İLE VERİ SORGULAMA

Delphide veri sorgulama işlemi TQuery kontrolü ile yapılır.TQuery kontrolüne ait SQL özelliği; hem bir editör olarak hemde doğrudan SQL komutları yazıp çalıştırmak suretiyle kullanılan bir özelliktir.Query1 kontrolüyle sorgulama şu şekilde olur..Sırasıyla gidiyoruz..
Tüm Sütunları Listelemek
Liste isminde bir veritabanına sahip olduğumuzu varsayalım..Bunu Query1 kontrolü ile sorgulayıp listelemek istiyoruz.Yapmamız gereken ise şudur;
Formumuza kısmından Query1 bileşeni ile DataSource1 bileşeni yerleştiriyoruz.
DataSource1 bileşeninin DataSet özelliğini Query1 yapıyoruz.Data Controls kısmından formumuza DbGrid yerleştiriyoruz ve Object Inspector penceresinden özelliğini DataSource1 yapıyoruz.Query1 in DataBaseName özelliği alias olarak tanımlanan önceden oluşturduğumuz Liste.dbf yi seçiyoruz.Query1 in SQL özelliğine giderek açılan pencerede yazacağımız sorguyu belirtiyoruz;

SELECT * FROM liste

Daha sonra Query1 in Active özelliğini True yaparak F9 ile debug ediyoruz.
Çalıştırdığınızda görebileceğiniz liste veritabanındaki tüm sütunların listelendiğidir..

İstenilen Sütunları Listelemek

İstenilen sütunlar,yani sadece ihtiyacımız doğrultusunda listelemek istediğimiz sütunları belirtmek için Query1 in yine SQL özelliğine yazacağımız sorgu şu şekilde olacak;

SELECT adi,soyadi,adresi FROM liste

Liste veritabanından sadece adi,soyad,adresi isimlerindeki sütunları listelemiş olduk..
Tekrarlı Kayıtları Bir Defada Listelemek
Bir tabloda bulunan aynı kayıtları bir kez listelemek için DISTINCT komutunu kullanırız.Bunun için Query1 in SQL özelliğine yazacağımız sorgu şu şekilde;

SELECT DISTINCT adi,soyadi,adres FROM liste

Şayet şartlı sorgulama yapmak istersek ;

SELECT DISTINCT adi,soyadi,adres FROM liste Where adi LIKE ',B%'

İki şartı aynı anda sağlamak istediğimiz durumlarda ise;

SELECT DISTINCT adi,soyadi,adresi,maas FROM liste WHERE (adi='B%' and maas>10000)

Bu durumda bir hatırlatma yapalım : Eğer iki şarttan biri veya diğeri gerçekleşsin diyorsak parantez içinde kullanılan and işlevi yerine OR (yada) kullanılır..
Verileri Sıralamak
Tabloda bulunan verileri A-Z ‘ ye veya Z-A ‘ya sıralamak mümkündür.
Örnek olarak;

SELECT DISTINCT adi,soyadi,adresi maas FROM liste WHERE Order By adi DESC(Z-A'ya sıralıyoruz)
SELECT DISTINCT adi,soyadi,adresi maas FROM liste WHERE Order By adi ASC(A-Z'ye sıralıyoruz)

Verileri Gruplandırmak

Bir tabloda yer alan kişilerin farklı zamanlardaki yaptıkları işlerin miktarı gruplandırmak suretiyle tek bir tabloda listelenebilir.Kullanacağımız komut ise Group BY komutu olacaktır..

SELECT adi,soyadi, SUM(toplam-fiyat)Genel-Toplam FROM liste WHERE fiyat = 'TL' GROUP BY adi

Bu bilgilerin ardından kod içinde kullanımlarına geçelim..

Parametreye Bağlı Olarak Veri Sorgulama

Ayrıntılara fazla takılmadan kullanımlarını yazacağım.Yukarıda kullanımların ne işe yaradıklarından bahsetmiştik..

procedure TForm1.Button1.Click (Sender : TObject); // Button1 isimli butonumuzun kodlarını yazalım..

begin

Query1.Open;

Query1.ParamByName ('Adi').As String;=Edit1.Text;

Query1.Close;

end;

Sütun Sorgulama
DataSource1 in DataSet özelliğini Query1; Query1 in DataBaseName özelliğini Liste.dbf ; DBGrid1 in DataSource özelliğini ise DataSource1 yapalım..

prucedure TForm1.Button1 Click(Sender : TObject);

begin

Query 1.SQL.Clear;

Query1.SQL.Add ('Select adi,soyadi,adresi,maas From liste');

Query1.Open;

end;

Burada yaptığımız ise form üzerine yerleştirdiğimiz butona tıklandığında DBGrid de istediğimiz bilgilerin listelenmesini sağladık..
Ekleme Sorgusu
Formumuza Button1 koyalım.Caption özelliğine Ekle yazabiliriz.Ekle butonuna yazacağımız kodlar aşağıdadır.Ancak Forma sizin DataSource1 ve DBGrid1 eklediğiniz varsayıyorum.Bu standart olacka bu işlemlerimizde..

procedure TForm1.EkleClick (Sender : TObject);

begin

Query1.SQL.Add('INSERT into liste');

Query1.SQL.Add('(Adi,Soyadi)');

Query1.SQL.Add('Values("oguz", "thecoders")');

Query1.EexecSQL;

end;

Burada yaptığımı kısaca Ekle ismini verdiğimiz butonumuza tıkladığımızda veritabanına oguz thecoders verisini ekleyecektir..
Verilerin Güncellenmesi
Tablomuzda bulunan verilerimizi güncellemek isteyebiliriz.Bunun için UPDATE komutunu kullanacağız.
Şimdi formumuza bir buton koyalım.Caption özelliğine Güncelle yazabiliriz.İsterseniz başka isimler verebilirsiniz..Butona yazacağımız kodlar;

Query1.SQL.Clear;

Query1.SQL.Add('UPDATE liste set maas =1000 where ADI='oguz');

Query1.SQL.ExecSQL;

end;

Veri Silme

procedure TForm1.Sil Click (Sender : TObject);

begin

Query1.SQL.Clear

Query1.SQL.Add('Delete from liste where ADI ='oguz');

Query1.EexecSQL;

end;

Delete komutu ile de veritabanındaki ADI altındaki oguz verisini silmiş olduk.Ekleme ve Update işlemlerindeki mantıkla aynıdır.

OĞUZ Kırat

Facebok'ta Paylaş

Benzer Yazılar

Etiketler: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
avatar

Ahmet Ates

http://www.coders.gen.tr/ 25 yasindayim. Z.K.U Biyomedikal Cihaz Teknolojisi bölümünü okudum, Programlama dilleri arasindan ilgilendiğim ve profesyonel olarak hizmet verdiğim dil Fortran'dir. Web olarak Php,Css ve hazır sistemler olarak Wordpress ve Vbulletine hayranlık besliyorum.

Bu yazı hakkında birşeyler demek ister misiniz?

RSS üzerinden bu yazıya yapılan yorumları takip edin.

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir.

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Programlama