1 / 237

Adatbázis-kezelés DELPHI-ben

Adatbázis-kezelés DELPHI-ben. Készítette:Pető László. Adatbázisfájl létrehozása. Adatbázisfájl létrehozása. Adatbázis típus kiválasztása. Mezőtípusok. A szerkezet begépelése. A szerkezet mentése. Adatbázisfájl megnyitása. Az adatbázis feltöltése. Az adatok bevitele.

rebekkah
Télécharger la présentation

Adatbázis-kezelés DELPHI-ben

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. Adatbázis-kezelés DELPHI-ben Készítette:Pető László

  2. Adatbázisfájl létrehozása

  3. Adatbázisfájl létrehozása

  4. Adatbázis típus kiválasztása

  5. Mezőtípusok

  6. A szerkezet begépelése

  7. A szerkezet mentése

  8. Adatbázisfájl megnyitása

  9. Az adatbázis feltöltése

  10. Az adatok bevitele

  11. A szerkezet megtekintése Table > Info Structure... A szerkezet módosítása Table > Restructure...

  12. Rekord beszúrása Record > Insert Rekord törlése Record > Delete

  13. Lekérdezések SQL-ben • SELECT [Distinct | All] [* | <érték1>[,<érték2>,…,<értékn>]] FROM <táblahivatkozás1>[<táblahivatkozás2,…, <táblahivatkozásn>] [WHERE <keresési feltétel>][GROUP BY <mező1> [Collate egybevetés],…, <mezőn> [Collate egybevetés]] [Having <keresési feltétel>] [Union <keresési feltétel] [Order by <sorrend_lista]

  14. Magyarázat • Distinct: az azonos tartalmú mezőket csak egyszer jeleníti meg • All: minden adatot figyelembe vesz • *: minden mező megjelenítése • <érték>: mezők kiválasztása • FROM: melyik táblából vegyük az értéket. Több tábla is megadható

  15. Magyarázat • Where: szűrési feltétel • Group by: csoportokat képez • Having: a csoportokra vonatkozó szűrési feltétel • Union: egy táblába egyesít • Order by : a felsorolt oszlopoknak megfelelően rendez

  16. SQL lekérdezés létrehozása

  17. Lekérdezés • Kérdezzük le azokat a tanulókat, akiknek 3 testvérük van! • SELECT * from tanulok where testver=3 • Futtatás: SQL > Run SQL • Mentés: File > Save As • Bezárás: File > Close

  18. Lekérdezések • Kérdezzük le azon tanulókat, akiknek van testvérük! • SELECT * FROM tanulok WHERE testver>0 • Kérdezzük le azon tanulók nevét, testvéreinek számát, és hogy kollégisták-e, akik kollégisták, és az átlaguk 4,5-nél rosszabb! • SELECT nev,testver,kollegium FROM tanulok WHERE kollegium=true AND atlag<4.5

  19. Lekérdezések • Kérdezzük le azon tanulók nevét, akik nem kollégisták! • SELECT nev FROM tanulok WHERE kollegium=false

  20. Feladat

  21. Feladat

  22. Feladat • Kérdezzük le az összes dolgozó nevét és havi alapbérét • SELECT nev,alapber FROM dolgozok • Kérdezzük le a dolgozók nevét és éves alapbérét! • SELECT nev,alapber*12 FROM dolgozok

  23. Feladat • Kérdezzük le a dolgozók nevét és havi járandóságát! • SELECT nev,alapber+potlek-levonas FROM dolgozok • Kérdezzük le az egyetemet végzett vezető beosztásúak éves járandóságát! • SELECT nev,(alapber+potlek-levonas)*12 FROM tanulok WHERE egyetem=true AND vezeto=true

  24. Feladat • Kérdezzük le azon dolgozók nevét és havi alapbérét, akik havi alapbére 150000 Ft-nál kevesebb! • SELECT nev,alapber FROM dolgozok WHERE alapber<150000

  25. Feladat • Kérdezzük le azon dolgozók nevét, akik nem vezető beosztásúak, de havi alapbérük meghaladja a 160000 Ft-ot! • SELECT nev FROM dolgozok WHERE vezeto=false AND alapber>160000

  26. Feladat • Kérdezzük le azon dolgozók nevét és havi alapbérét, akik betöltötték 23. Életévüket akkor, amikor munkába álltak! • SELECT nev,alapber FROM dolgozok WHERE (munka_kezd-szul_datum)/365 >23

  27. SUM • Kérdezzük le a dolgozók számára az egész év folyamán kifizetendő teljes pénzösszeget! • SELECT SUM(alapber+potlek-levonas)*12 FROM dolgozok

  28. AVG • Kérdezzük le a dolgozók éves járandóságának átlagát! • SELECT AVG(alapber+potlek-levonas)*12 FROM dolgozok

  29. További SQL függvények • MIN • MAX • COUNT

  30. Indexelés TABLE > RESTRUCTURE... SAVE gomb Eredmény: tanulok.mdx

  31. Adatbeviteli űrlap készítése

  32. Adatbeviteli űrlap készítése • File > New… > Data Module • DataModule2.Name:=Adatmodul • Mentsünk mindent egy új könyvtárba • A tanulókat tartalmazó táblát indexestül helyezzük ebbe a könyvtárba • DataSource1.DataSet:=Table1 • Table1.TableName:=tanulok.dbf • Table1.Active:=true

  33. Adatbeviteli űrlap készítése A magyar feliratokhoz a Caption megváltoztatása szükséges!

  34. Adatbeviteli űrlap • Kattintsunk duplán a Table1 adatmodulbeli ikonján! • A megjelenő fehér ablakra jobb egérgombbal kattintva válasszuk ki a szükséges mezőket! • A mezőket húzzuk át a Form megfelelő területére! • Engedélyezzük az adatmodul használatát! A felvetődő kérdésre adjunk igenlő választ! • Helyezzünk el egy DBNavigatort! • DBNavigator.Align:=alBottom • DataSource:=Adatmodul.DataSource1

  35. Adatbeviteli űrlap mentése

  36. Az adatbeviteli űrlap fordítása A nyomógomb hatására lefut a program (interpreter), de ezzel párhuzamosan elkészül egy exe állomány (compiler), ami a Delphi nélkül is futtatható. Érdemes így is kipróbálni. EZ AZT JELENTI, HOGY AZ ADATBEVITELHEZ ELEGENDŐ AZ ADATBÁZIS ÉS AZ ELKÉSZÍTETTPROGRAM, NEM KELL A DELPHI! C:\Könyvtárnév\fáljnév.EXE

  37. Lekérdezés a programban • Készítsünk egy olyan programot, amely adattáblában mutatja azon tanulókat, akiknek 3 testvérük van!

  38. Lekérdezés a programban • Készítsünk egy külön könyvtárat • Helyezzük el benne a tanulók táblát indexestül! • Kérjünk a projecthez egy adatmodult! • Mentsünk mindent! • A unit1 implementation részébe írjuk be: • Uses unit2;

  39. Lekérdezés • Az Adatmodulon helyezzünk el egy DataSource és egy Query komponenst! • DataSource1.DataSet:=Query1 • Query1.SQL-hez írjuk be a megfelelő kérdést • Query1.Active:=True (Hiba esetén elrontottuk a kérdést)

  40. Lekérdezés a programban

  41. Lekérdezés a programban DbGrid1.DataSource:=DataModule2.DataSource1 DbGrid1.Align:=alClient

  42. Lekérdezés mentése

  43. Lekérdezés fordítása A program futtatás közben lefordítódik fáljnév.exe néven, amely a DELPHI nélkül is futtatható.

  44. Jelentés készítése • Készítsünk jelentést a hármasnál jobb átlagú tanulók nevéről, születési helyéről és átlagáról!

  45. Jelentés készítése QRBand1.BandType:=rbTitle (Címsor lesz) QRband1.BandType:=rbDetail (Adatait az adatbázisból veszi)

  46. Jelentés • Készítsünk egy külön könyvtárat, másoljuk bele a tanulókat tartalmazó adatbázist indexesetül! • Kérjünk egy adatmodult, majd mentsünk mindent az adott könyvtárba! • Az implementation részbe írjuk be: • Uses unit2;

  47. Jelentés készítése • Helyezzünk el egy DataSource és egy Query komponenst az adatmodulban! • Adjuk meg az SQL parancsot • Kapcsoljuk össze a két komponenst! • QuickRep1.Dataset:=DataModule2.Query1

  48. Jelentés készítése

  49. Jelentés készítése QRLabel komponensek QRDBText komponensek Dataset:=DataModule2. Query1 Datafield:= a megjelení- tendő mező neve A szöveg formátuma a komponensek Font tulaj- donságánál állíthatók. Jobb gomb > Preview : A nyomtatási kép megtekinthető

  50. Jelentés készítése

More Related