U trendu

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 i preko mobilne aplikacije za Android i iPhone.