Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.

Hasonló előadás


Az előadások a következő témára: "Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT."— Előadás másolata:

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

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

3 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 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

5 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

6 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

7 Példák INSERT INTO szemely VALUES (‘Szabolcs', ‘Miskolc‘, 20213456); UPDATE szemely SET nev=‘Katalin' WHERE ID=5; DELETE FROM szemely WHERE ID=30 ;

8 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

9 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';

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

11 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.idf and nev LIKE 'Matisse%';

12 Példák 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');

13 Példák 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;

14 Példák 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);

15 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

16 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

17 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

18 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

19 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: procedure TForm1.Button1Click(Sender: TObject); var s:string; begin s:= Edit1.Text; s:= Edit1.Text; Query1.SQL.Clear; Query1.SQL.Clear; Query1.SQL.Add(‘Select * from tabla where a=’’’+s+’’’;’); Query1.SQL.Add(‘Select * from tabla where a=’’’+s+’’’;’); Query1.Open; Query1.Open; end;

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

21 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... // 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

22 Táblához hozzáfű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

23 Link – SQL példák http://hu.wikipedia.org/wiki/SQL_programozási_nyelv


Letölteni ppt "Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT."

Hasonló előadás


Google Hirdetések