SQL u Delphi-ju (II deo)

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:


  1. Na praznu formu novog projekta postavite sledeće komponente: TQuery, TDataSource, TDBGrid, TEdit i TButton.

  2. Osobinu „DataSet“ komponente TDataSource, postavite na „Query1“.

  3. Osobinu „DataSource“ komponente TDBGrid, postavite na „DataSource1“.

  4. Osobinu „DatabaseName“ komponente TQuery, postavite na „DBDEMOS“. Ovo je baza podataka koja dolazi uz instalaciju Delphi-ja.

  5. 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;

  6. 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).

  7. 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;

  8. 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“.

Pratite Krstaricu na www.krstarica.com