Kao što smo i najavili, u ovom prilogu ćemo videti kako da kreiramo mali program koji će pristupati nekoj bazi podataka preko SQL upita, tj. TQuery komponente. Ićićemo korak po korak, a za početak pokrenite Delphi:
- Na praznu formu novog projekta postavite sledeće komponente: TQuery, TDataSource, TDBGrid, TEdit i TButton.
- Osobinu "DataSet" komponente TDataSource, postavite na "Query1".
- Osobinu "DataSource" komponente TDBGrid, postavite na "DataSource1".
- Osobinu "DatabaseName" komponente TQuery, postavite na "DBDEMOS". Ovo je baza podataka koja dolazi uz instalaciju Delphi-ja.
- Sada ćemo uneti SQL upit u osobinu "SQL" komponente TQuery, kojim ćemo iz tabele "Employee" (zaposleni) izdvojiti imena i prezimena zaposlenih radnika, i njihove plate (FirstName, LastName, Salary). Kliknite dvostruko na osobinu "SQL", te u editor stringova unesite sledeći upit:
SELECT FirstName, LastName, Salary
FROM Employee.db;
- Da bi odmah sada, znači još prilikom projektovanja programa, mogli da vidimo rezultat upita u komponenti TDBGrid - postavite osobinu "Active" komponente TQuery na "True". Kao što možete da vidite, "rešetka" će prikazati sve slogove tabele "Employee", ali u tri izabrane kolone (FirstName, LastName, Salary).
- Na kraju ćemo dugmetu dodeliti progrmaski kod, kojim ćemo po pokretanju programa, poništiti ugrađeni upit i pozvati novi. Sledeći kod ubacite u događaj "OnClick" dugmića:
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;{zatvaranje upita}
//novi SQL izraz
Query1.SQL.Clear;
Query1.SQL.Add ('Select FirstName, LastName, Salary');
Query1.SQL.Add ('FROM Employee.db');
Query1.SQL.Add ('WHERE Salary > ' + Edit1.Text);
Query1.Open; {pokretanje upita i prikaz podataka}
end;
- Pokrenite projekt, pritiskom na "F9".
Rezultat osnovnog upita će biti već ranije prikazani rezultat, a unosom visine plate u tekst - polje i klikom na dugme pokrenućemo novi upit, kojim ćemo izdvojiti slogove tj. radnike čija plata prelazi određeni iznos (onaj koji ste uneli u tekst - polje). Ovim smo dobili program sa statičkim (read-only) podacima, ukoliko želite da podatke u tabeli i menjate, osobinu RequestLive postavite na "True".