1 / 25

Delphi programozás alapjai

Delphi programozás alapjai. Nagyváradi Anett anettn@morpheus.pte.hu http://morpheus.pte.hu/~anettn PTE PMMK. Delphi programozás. Delphi programozás. 5. ELŐADÁS. Adatbázis kezelés Delphiben SQL lekérdezések. Delphi programozás. SQL.

iria
Télécharger la présentation

Delphi programozás alapjai

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Delphi programozás alapjai Nagyváradi Anett anettn@morpheus.pte.hu http://morpheus.pte.hu/~anettn PTE PMMK Delphi programozás

  2. Delphi programozás 5. ELŐADÁS Adatbázis kezelés Delphiben SQL lekérdezések

  3. Delphi programozás SQL Structured Query Language – adatbázisok kezelésére szolgáló lekérdező nyelv Szabályok: • Utasítások tetszés szerint tördelhetők • Utasítások végét pontosvessző zárja • Kisbetű nagybetű használata egyaránt lehetséges • Listában lévő elemeket vesszővel választjuk el • Egymásba ágyazhatók az utasítások

  4. Delphi programozás SQL műveletek Matematikai: +,-,*,/, **, ^ Stringműveletek: +,||,& Bináris műveletek: NOT,AND,OR Összehasonlítás: <,>,=,!=, <>,NOT= Predikátumok: IS, LIKE, BETWEEN…AND, IN, CHECK, WHERE, HAVING, GROUP BY, ORDER BY

  5. Delphi programozás SQL feltételek Lokális (egy mezőt érintő) integritási feltételek : PRIMARY KEY – elsődleges kulcs REFERENCES tnev – kapcsolókulcs valamely másik táblára NOT NULL – a mező értékét nem hagyhatjuk üresen UNIQUE – mezőérték a táblában egyedi CHECK (feltétel) – mezőre megadott ellenőrző feltétel pl. CHECK (ar > 0) DEFAULT ertek – alapértelmezett értéket rendelünk a mezőhöz Globális (több mezőt érintő) integritási feltételek: PRIMARY KEY (mezo1, mezo2, ..) – összetett kulcs FOREIGN KEY (mezo1, mezo2, ..) REFERENCES tnev – összetett idegen kulcs CHECK (feltétel) – több mezőre vonatkozó értékellenőrzés pl. CHECK (netto < brutto) http://edu.bzlogi.hu/mdb/download/gyak_03_sql.doc

  6. Delphi programozás SQL adatdefiníciós utasítások Az adatbázis szerkezetének megváltoztatására: CREATE - táblák létrehozása ALTER - táblák szerkezetének megváltoztatása DROP - táblák törlése RENAME - táblák átnevezése TRUNCATE - táblák csonkítása INSERT - új sorok beszúrása DELETE - utasítás sort vagy sorokat töröl

  7. Delphi programozás SQL adatkezelő utasítások Adatok olvasására az adatbázisból: SELECT - adatlekérdezés INSERT - adat létrehozása UPDATE - adat változtatása DELETE - adat törlése

  8. Delphi programozás Példák INSERTINTO szemely VALUES (‘Szabolcs', ‘Miskolc‘, 20213456); UPDATE szemely SET nev=‘Katalin' WHERE ID=5; DELETEFROM szemely WHERE ID=30;

  9. Delphi programozás Szintaktika SELECT oszlop neve FROM tábla neve WHERE feltételek ORDER BY oszlop nevek; FROM - azt a relációt adja meg, amelyre a lekérdezés vonatkozik WHERE - feltétel, a logikai kifejezés igaz esetén, kiválasztja a rendszer a megfelelő rekordokat

  10. Delphi programozás Szintaktika BETWEEN...AND - operátor esetén a feltétel két határ által megadott intervallumban található SELECT * FROM tabla WHERE mez between 40 and 80; LIKE - operátor azt ellenőrzi, hogy az értékek megfelelnek-e a megadott karaktermintának SELECT * FROM tabla WHERE nev LIKE ‘Kata';

  11. Delphi programozás Szintaktika ORDER BY - utasításrész a SELECT utasítás utolsó része, egy vagy több oszlop szerint rendezi az eredménytáblát. SELECT * FROM szemely WHERE varos LIKE ‘Pécs' ORDER BY nev;

  12. Delphi programozás Példák SELECT tabla1.oszlop, tabla2.oszlop FROM tabla1, tabla2 WHERE tabla1.oszlop1=tabla2.oszlop2; SELECT * FROM szemely; SELECT nev,alkotascim,datumk,tema FROM festmeny,festo WHERE festo.idf=festmeny.idfand nev LIKE 'Matisse%';

  13. Delphi programozás Szintaktika SELECT idk,festo.idf,nev,alkotascim FROM festmeny,festo WHERE festmeny.idf=festo.idf and datumk<1900 and tema LIKE 'mitológikus kép' ORDER BY 4; SELECT * FROM festmeny WHERE tema IN ('enteriőr','csendélet');

  14. Delphi programozás Szintaktika SELECT COUNT (*) FROM  festo WHERE nemzetiseg LIKE  'francia'; SELECT alkotascim, datumk AS "készült",nev AS "festette" FROM festmeny,festo WHERE festo.idf=festmeny.idf and idk<20;

  15. Delphi programozás Szintaktika SELECT * FROM festmeny WHERE alkotascim ~ 'puszta'; Beágyazott lekérdezés: SELECT nev,alkotascim,datumk FROM festo,festmeny WHERE festo.idf=festmeny.idf and datumk=(select MIN(datumk) from festmeny);

  16. Delphi programozás SQL utasítások Delphiben Delphi alkalmazásokban a TQuery komponens segítségével futtathatunk SQL utasításokat Fajtái: • DDL : Data Definition Language – DB szerkezet módosítása • DML : Data Manipulation Language – DB adatainak kezelése • DCL : Data Control Language – egyéb DB kezelési feladatok Végrehajtásukat a BDE irányítja

  17. Delphi programozás TQuery komponens Tulajdonságai: • DataBaseName – adatbázis komponens vagy álnév • DataSource – paraméteres lekérdezéseknél, az az adatforrás, ahonnét a paraméterek értéke szármatik • SQL – maga a forrás • Active – tervezési időben látható eredmény

  18. Delphi programozás TQuery komponens használata • Helyezzünk el egy TQuery komponenst az adatmodulon • DataBaseName tulajdonságát állítsuk be • Írjuk be az SQL utasítást • Ha az eredményék ki akarjuk iratni, akkor irányítsunk rá egy DataSource komponenst • Az adatmegjelenítési elemeket ehhez a DataSource-hoz kell majd kapcsolnunk

  19. Delphi programozás SQL megadása futási időben Dinamikus lekérdezés is generálható úgy, hogy a felhasználói igények alapján felépített lekérdezést képező SQL utasítást, string-ként a TQuery komponens SQL tulajdonságába tesszük. Pl.: Query1.SQL.Clear;//kitörli a meglévő utasítást Query1.SQL.Add(‘Select * from tabla’);//hozzáfűz Query1.Open; // megnyitja

  20. Delphi programozás SQL megadása futási időben Ha a felhasználó által bevitt adatok alapján szeretnénk módosítani a lekérdezést: procedureTForm1.Button1Click(Sender: TObject); var s:string; begin s:= Edit1.Text; Query1.SQL.Clear; Query1.SQL.Add(‘Select * from tabla where a=’’’+s+’’’;’); Query1.Open; end;

  21. Delphi programozás SQL megadása futási időben Fájlból is betölthető a lekérdezés: procedure TForm1.Button1Click(Sender: TObject); begin Query1.SQL.LoadFromFile(‘filenev.SQL’); Query1.SQL.Open; end;

  22. Delphi programozás Tábla tartalmának végigjárása DataModule.TáblaNév.DisableControls; //hozzáférés letiltás DataModule.TáblaNév.First; //első elemre ugrás While not DataModule.TáblaNév.Eof do begin ... // utasítások megadása DataModule.TáblaNév.Next; //következő elemre ugrás end; DataModule.TáblaNév.EnableControls; //hozzáférés engedélyezés

  23. Delphi programozás Táblához hozzásfűzés – futási időben DataModule.TáblaNév.Append; //hozzáfűzés kezdete DataModule.TáblaNév.FieldByName(‘mezőnév’).AsTípus:=...; //pl. feltételben az adott mező adott típusként való vizsgálata DataModule.TáblaNév.FieldByName(‘mezőnév’).Value:=...; //adott mező értéke szerint való vizsgálata DataModule.TáblaNév.Post; //utasítás végrehajtás

  24. Delphi programozás Feladat Készítsen alkalmazást, mely telefonkönyv szerűen működik. Az adattábla tartalmazza a személyes adatokat név, szül. év, szül. dátum, lakhely, irányítószám, utcanév, házszám, telefon körzetszám, telefonszám, stb. A tárolt adatokat jelenítsük meg felhasználóbarát felületen. Legyen lehetőségünk az adatok adminisztrációjára – új személy felvétele, törlés, módosítás. Az alkalmazás adjon lehetőséget név szerinti, körzetszám szerinti, életkor szerinti, stb. keresésre az adatbázisban!

  25. Delphi programozás Segítség – SQL http://hu.wikipedia.org/wiki/SQL_programozási_nyelv

More Related