IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Delphi (https://www.ircforumlari.net/delphi/)
-   -   Delphi'de SQL Kullanımı.. (https://www.ircforumlari.net/delphi/360156-delphide-sql-kullanimi.html)

CoKraiL 19 Ekim 2010 17:05

Delphi'de SQL Kullanımı..
 
Kod:

SQL komutları yerel DataBase' ler yanında genellikle
 Client / Server uygulamalarında yoğun olarak kullanılmaktadır.
 Hatta bu kullanım Client / Server uygulamalarında neredeyse
 DataBase ile yapılan işlerin tamamını oluşturmaktadır.
 Aşağıdaki kod satırında, Delphi içerisinden TQuery
 bileşeni vasıtası ile SQL komutlarını
 çalıştırmak için kullanılan kod satırı görülmektedir.
 Aşağıdaki kod satırı SQL komut satırı yazarken delphi
 içerisinde izlenecek temel adımları göstermektedir.
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 a.Query1.Close;
 b.Query1.SQL.Clear;
 c.Query1.SQL.Add('SQL komut satırları 1,2,3, ... N');
 d.Query1.Open;
 end;
 
 a. Daha önceden SQL komut satırı açık ise kapatılır, şayet Query1 açık  değilse, bu komutu çalıştırmak herhangi bir problem oluşturmayacağı için  dosya açık veya kapalı mı ? diye hiç bakmadan en baştan bu komutu  yazın. Tablonuz açık veya kapalı fark etmez bu komut işlem başlangıcında  tabloyu kapatarak tablo üzerinden yapacağımız işlemler için zemin  hazırlamaktadır.
 b. İkinci yazacağınız komut satırı Query1.SQL.Clear; olmalıdır. Bu komut  satırı önceden Query1 ile çalıştırılmış farklı komut parçacıkları  varsa, onları temizlememizi sağlar. Query1.SQL.Clear komutunu da mutlaka  çalıştırın çünkü daha önceden kalmış olan komut parçacıklarını  temizler. Şayet temizlenmezse, önceden kalmış komut satırları yenileri  ile karışarak programınızın düzgün çalışmamasına ve hata vermesine sebep  olabilir.
 c. Yukarıdaki iki işlemi yaptıktan sonra artık gönül rahatlığı ile her  türlü SQL komutlarını yazabilirsiniz. Yukarıda SQL.Add bir satır olarak  verdik ama siz yazacağınız komut adedi kadar SQL.Add komut satırını  kullanabilirsiniz ya da bir SQL.Add komut satırı ile programda  kullanacağınız tüm SQL komutunu yazabilirsiniz. SQL.Add komutunun görevi  sadece çalıştırılacak SQL komutlarını bünyesine dahil etmektir. Dahil  edeceği komut satırları tırnak işaretleri içerisinde verilir. Yazılan bu  SQL komut komutları, SQL.Open komut satırı çalıştırılıncaya kadar  hiçbir aktif rol oynamaz.
 d. Son olarak ise Query1 bileşenine yüklenen komutları çalıştırarak  istenilen sonuca ulaşmanızı sağlayacak olan, Query1.Open komutunu  çalıştırmaya geldi. Bu komut satırı ile birlikte sorgulama işlemi için  son adımı atarak temel manada SQL Yazım sırasını görmüş olduk.
 
 
 
 "Select" Cümleciğinin İncelenmesi
 
 
 Select komutunun kullanımı MS SQL Server, Oracle, SysBase, hatta yerel  tablolarda dahi kullanımı hep aynıdır. Aşağıda yazdığımız komut satırı  ile yukarıda bahsi geçen tüm DataBaselerde aynı sonucu elde  edebilirsiniz. Select cümleciğinin en temel kullanımı, "SELECT tablodaki  değişken adları FROM Tablo isimleri" şeklindedir. Bu komut satırı  şartlara göre tablo bilgilerine değişik alternatifler ve sorgulamalar,  işe ulaşma yöntemine göre farklı parametreler alır. Bu komut satırı ile  kullanılan temel komutlar şöyledir.
 
 a. Select değişken1, değişken2, değişkenN : Tablo içerisinden seçilecek  alanların yazıldığı bölümdür. Tablo içerisinden seçilecek alandan  kastımız tüm verileri alabilme yanında, istenilen alan bilgilerini alma  anlamına geliyor. Şayet bir tablodan tüm alanlar okunacak ise "*"  konulur. Bunu yanında istenilen bilgi bir den fazla tablodan alınacak  ise, yine tablo işaretçileri kullanılarak birden fazla tablodan rapor  elde edilebilir.
 b. From Table1, Table2, TableN : Parametre verilen tablo sayısı bu  komponent ile ulaşmak istediğimiz tablo sayısına göre değişir.
 c. Where sorgu şartları1, sorgu şartları2, sorgu şartları3 : Tablo  içerisinde alanlardan birisinde belirli özellikleri sağlayan kayıtlara  ulaşmak istediğimiz zaman başvuracağımız satırdır. Yine buraya da bir  çok şart yazabiliriz. Şayet ulaşmak istediğimiz kayıtlarda belirli bir  özellik gözlemeden tüm kayıtlara ulaşmak istiyorsak, bu satırı  kullanmamıza gerek yoktur. Sorgu şartlarında aşağıdaki operatörleri  kullanabilirsiniz.
 
 
 
 = Eşitlik Operatörü
 > Büyüklük Operatörü
 >= Büyük Eşit Operatörü
 < Küçük Operatörü
 != Eşit Değil Operatörü
 
 
 bu operatörler yanında iki değer arası kayıt için Between ... And ...  değişken içerisinde geçen herhangi bir In (liste) şartla bir bölümü uyan  kayıtlar için Like vs. olmak üzere çeşitli operatörleri  kullanabilirsiniz.
 GROUP BY gruplanacak değişken ismi: Belirli alanlara göre verileri gruplamak maksadıyla kullanılır.
 HAVING gruplanacak veri şart bölümü : grupla ilgili şart bölümüdür.  ORDER BY değişken1, değişken2, değişkenN (ASC, DSEC): parametrede  verilen değişkenler doğrultusunda istenilen verileri sıralayarak  getirir. Bu sıralamada değişken sayısı arttıkça, sıralama şekli ilk önce  birinci değişken daha sonra ikinci ve diğerleri olmak üzere sıralama  mantığı kullanılır. Ayrıca bu değişkenden sonra verilecek ASC veya DSEC  komutları ile sıralamanın yönleri büyükten küçüğe veya küçükten büyüğe  yöneltilebilir.
 ORDER BY Adı, Soyadi DESC // bu satır önce isim ve isim altıda soy isim olmak üzere tersten sıralama yapar.
 örnek 1: Varolan bir Personel tablosundan Personelin Tüm bilgilerini SQL komutları şart' a bağlı olmadan okuyalım.
 
 procedure TForm1.Button2Click(Sende: TObject);
 begin
 Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add('Select * From personel');
 Query1.Open;
 end;
 
 
 Yukarıda Where yazılmadığı için tüm kayıtların hepsini ifade
 ediyor. Ayrıca parametre olarak da "*" kullanıldığı için personel
 tablosundan tüm bilgilerin alanların sorgulanacağını ifade eder.
 
 örnek 2: Personel listesinden bilgi işlem departmanında bulunan  elamanların adını soyadını ve işe geliş saatlerinin listesini almak  isteyelim.
 
 procedure TForm1.Button3Click(Sender: TObject);
 begin
 With Query1 Do
 Begin
 Query1.Close;
 SQL.Clear;
 SQL.Add('SELECT adi, soyadi, Departman, MesaiBaslangic From personel);
 SQL.Add('Where Departman="Bilgi işlem"');
 Query1.Open;
 End;
 end;



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 22:22.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk