SQL u Delphi-ju (I deo)

Ako redovno pratite ovu rubriku onda sigurno znate ลกta je SQL (Structured Query Language). Za one koji ne znaju, to je standardizovani jezik za definisanje i manipulisanje podacima u relacionim bazama podataka putem tzv. „upita“, a viลกe o njemu moลพete proฤitati u prethodnim prolozima ove rubrike (mali kurs SQL-a). Ali tema ovog priloga nije sam SQL, veฤ‡ njegova veza sa Delphi-jem.

Ako budete ลพeleli da koristite SQL u vaลกim aplikacijama, onda bi trebalo da bolje upoznate komponentu TQuery, preko koje Delphi direktno omoguฤ‡ava da pristupite podacima smeลกtenim u tabelama razliฤitih vrsta baza podataka (dBase, InterBase, Paradox, Access itd.). Takoฤ‘e, pomoฤ‡u ove komponente moลพete spajati i podatke iz razliฤitih izvora (na primer, moลพete spojiti podatke iz Access i Oracle tabela). Za upite, komponenta TQuery poseduje osobinu „SQL“ u koju smeลกtamo samu sintaksu upita. Pri tome komponenta sadrลพi jedan ili viลกe upita, moลพe da ih izvrลกava i obezbeฤ‘uje nam metode za manipulaciju rezultatima upita.

Generalno upite moลพemo podeliti u dve kategorije: one koje kao rezultat daju skup podataka (npr. SELECT upiti) i one koji ne rezultuju nikakvim skupom podataka (npr. UPDATE ili INSERT upiti). Za samo izvrลกenje upita koji rezultuju podacima koristi se metoda „TQuery.Open„, a za ove druge – metoda „TQuery.ExecSQL

Komponenta TQuery moลพe da vrati dve vrste rezultujuฤ‡ih skupova:

  • dinamiฤke, preko komponente TTable (gde korisnici mogu da menjaju podatke)
  • tzv. „read only“ (gde su podaci dostupni samo za pregled, ali ne i za menjanje)
Da bi dobili dinamiฤki set podataka, osobina komponente „RequestLive“ treba da ima vrednost „True“, a sam upit treba da zadovolji neke specifiฤne zahteve (u ovakvim upitima ne smeju da se koriste kljuฤne reฤi: ORDER BY, SUM, AVG itd.). Upiti su, na neki naฤin, po „ponaลกanju“ sliฤni filterima, ali su mnogo moฤ‡niji jer vam dopuลกtaju mnogo viลกe: moลพete spajati viลกe tabela, izdvajati podskupove itd. U sledeฤ‡em prilogu videฤ‡emo i jedan primer koriลกฤ‡enja TQuery komponente.

Pratite Krstaricu na www.krstarica.com