Vytlač príspevok
Odporuč príspevok
Bookmark and Share PRIDAŤ NA VYBRALI.SME.SK

DELPHI a MYSQL - Ako poziadat server o data

V databaze su data ulozene v tabulkach ako lego v skatuli. Otvorenim skatule vidime len legove casti usporiadane podla velkosti ci inych parametrov. Uspokojeniu nasich potrieb nestaci len otvorit skatulu a vykukovat sa po nejakych kockach, ale nasou potrebou je zo suciastok nieco zostrojit. Obdobne je to aj s datami v databaze. 

Na skladanie dat resp. na manipulaciu s datami sa pouziva jazyk SQL. Nejake pociatocne info najdete napr. tu http://sk.wikipedia.org/wiki/SQL

Nechcem sa sustredit na teoriu ale na prakticku ukazku, preto sa tu nebudem rozpisovat.

Takze majme na MySQL serveri nainstalovanu databazu KNIZNICA a vnej nech mame vytvorenu tabulku KNIHY. Tabulku knihy si predstavte ako excelovsku tabulku v ktorej su ulozene v stlpcoch data. Kazdy stlpec ma nejaky nazov a je nejakeho typu podla druhu dat, ktore su v danom stlpci zapisane. Obdobne je to aj s tabulkami v relacnych databazach.

Ukazme si tu tabulku KNIHY:

 

id_knihy nazov autor isbn
1 Pekny den Jurko Hruska 85544321
2 Danka a Janka Peto Banan 12345678
3 Romeo a biblia Milka Ruckova 87654321

Tak toto je surova sada dat ulozena na nejakom serveri niekde v Brazilii, ktore skusime nejako zobrazit vo vlastnej aplikacii doma.

Upozornenie: Na vytvorenie tohto prikladu je nutne mat nainstalovane komponenty ZEOS. Stiahnut si ich mozete napriklad tu: http://sourceforge.net/projects/zeoslib/

1. Vytvorime si novu aplikaciu

2. Na formular umiestnite komponenty TZConnection, TZQuery, TDataSource, TDBGrid

3. V komponente TZConnection nastavte nasledovne vlastnosti:

    Protocol = 'mysql-5'
    HostName = 'localhost'
    Port = 3306
    Database = 'kniznica'
    User = 'root'
    Password = 'admin'
    Catalog = 'kniznica'
    Name = 'DB'

4.V komponente TZQuery nastavte nasledovne vlastnosti

    Connection = DB
    SQL = select * from knihy;


5. V komponente TDataSource nastavte nasledovne vlastnosti

    DataSet = ZQuery1

6. Do udalosti formulara OnCreate vlozte nasledovny kod:

procedure TForm1.FormCreate(Sender: TObject);
begin
  DB.Connect;
  ZQuery1.Open;
end;

7.  Do udalosti formulara OnDestroy vlozte nasledovny kod: 

procedure TForm1.FormDestroy(Sender: TObject);
begin
  ZQuery1.Close;
  DB.Disconnect;
end;

Po spusteni aplikacie uvidite data zo servera Mysql vo vlastnej aplikacii nejak takto:

 

Co nasa aplikacia robi:

1.Pri spusteni aplikacie sa vytvori spojenie so serverom MySQL a nasledne sa otvori komponenta ZQuery1, ktora poziada server o data. Poziadavka je v jazyku SQL a je to vlastne tento zapis select * from knihy; V ludskej reci by sme tento prikaz mohli povedat Potrebujem vsetky data z tabulky knihy.

2.Kedze komponenta DBGrid je spojena s komponentou ZQuery skrze komonentu Datasource1, komponenta DBGrid zobrazi data.

3. Pri zatvarani aplikacie sa uzavru spojenia.

 


Delphi | stály odkaz

Komentáre

Pozor, na konci je potreba spočítať neľahkú matematickú úlohu! Inak komentár nevložíme. Pre tých lenivejších je tam tlačidlo kúzlo.



Prevádzkované na CMS TeaGuru spoločnosti Singularity, s.r.o., © 2004-2014