Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
?HTML-ben a Flash átméretezés torzul
Eredeti mezőnevek lekérdezése
?Input mezőből visszakapott adat probléma
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
Cikkek
»Bevezetés a genetikus algoritmusokba
»Bevezetés az adatkezelésbe
»Bevezetés a CSS alapjaiba
»GroupWise-kiegészítők készítése Python-ban
»Aspektus-orientált programozás
» több cikk
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Cikkek

»

Programozási nyelvek

»

Delphi

»

A Query komponens

A sorozat további cikkei:
szerző: Taylor, idő: 2000.04.12., értékelés: 4 (6 szavazat)
  Betűméret növelése Betűméret csökkentése Kapcsolódó fórum Felvétel kedvencekhez Küldés emailben Nyomtatható verzió
A komponens segítségével SQL (Structured Query Lagguage) utasításokat futtathatunk a Delphiben irt programunkból. Az SQL-rol a korábbi adatbázis-kezelési cikkeinkben olvashattok részletesebben. Az SQL az adatbázis-szerverek leggyakrabban használt lekérdező nyelve (pl. Interbase, Sybase, Oracle), de a BDE lehetové teszi, hogy SQL utasításokat adjunk ki lokális táblákra is. (pl. dBase, Paradox, Access stb.)
A megelőző részben tett kis kitérőnk után (aki nem emlékezne, egy konkrét példaprogramot irtunk az addig tanultak felhasználásával, egy telefonszám nyilvántartó programot készítettünk) folytassuk az adatelérési komponensek megismerését.

A Query Komponens

A komponens segítségével SQL (Structured Query Lagguage) utasításokat futtathatunk a Delphiben irt programunkból. Az SQL-ről a korábbi adatbázis-kezelési cikkeinkben olvashattok részletesebben. Az SQL az adatbázis-szerverek leggyakrabban használt lekérdező nyelve (pl. Interbase, Sybase, Oracle), de a BDE lehetővé teszi, hogy SQL utasításokat adjunk ki lokális táblákra is. (pl. dBase, Paradox, Acces stb.) Lokális táblák esetén a BDE az un. Local SQL-t használja, ami ugyan nem tartalmazza az SQL92 szabvány összes lehetőségét, azonban azokat az utasításokat igen, amelyekre ezeknél az adatbázisoknál szükségünk lehet. Adatbázis-szerverek eléréséhez az ún. SQL Links csomagot kell használnunk. Delphiben készíthetünk heterogén lekérdezéseket is, vagyis olyan lekérdezést, amelyben a táblák különböző típusú adatbázisokból származnak. (pl. az egyik tábla egy Interbase a másik Paradox)

A Query komponens is a TdataSet ős leszármazottja, így az ott tárgyalt fontosabb tulajdonságok rá is érvényesek. Amennyiben a query futtatásának hatására egy eredményhalmazt kapunk vissza (SELECT utasítás), akkor ebben az eredményhalmazban rekordra pozícionálhatunk, egy mező értékére kereshetünk, származtatott mezőket hozhatunk létre, mezők jellemzőit állíthatjuk be a mezőszerkesztőben, stb.

Most pedig következzenek azok a fontosabb tulajdonságok és metódusok, melyekről korábban még nem volt szó a TdataSet ismertetésekor. (azaz a Query egyéni tulajdonságai)
 
Property Leírás
Params Paraméterek megadására szolgál, paraméteres lekérdezéseknél használjuk.
RequesLive Lehetőség van olyan lekérdezések készítésére, melynek eredményhalmaza szerkeszthető. (de csak akkor, ha megfelel bizonyos, az SQL92 által definiált szerkesztési feltételeknek)
SQL Tstrings objektum, mely a futtatandó SQL utasítást tartalmazza
ParamCheck Ha true, akkor minden olyan esetben, amikor futási időben megváltozik az SQL property, a paraméterek újra generálódnak.

 
 
Metódus Leírás
ExecSQL Query futtatása. Akkor használjuk, amikor olyan SQL utasítást futtatunk, ami nem ad vissza eredményhalmazt. Ellenkező esetben az Open metódust használjuk.
Prepare Hatására a BDE vagy az adatbázis-server előre lefoglalja a query futtatásához szükséges erőforrásokat, így a query gyorsabb lesz.
UnPrepare A Prepare-re lefoglalt erőforrások felszabadítására szolgál.

A Query komponens használata szerkesztési időben

Egy példán keresztül fogjuk megnézni, hogy hogyan is kell használni a query komponenst.

  • Tegyünk egy Query komponenst a form-ra.
  • Állítsuk be a DatabaseName tulajdonságot. Itt megadhatunk aliast, vagy egy könyvtárat, amely az adatbázisfájlokat tartalmazza lokális adatbázisok esetén, illetve egy Database komponens nevét (később lesz róla szó, adatbázis-szerverekehez való csatlakozásnál fogjuk használni) amennyiben azt korábban elhelyeztük a form-on. Jelen esetben állítsuk be a már jól ismert DBDEMOS aliast.
  • Az SQL property-ben kell megadnunk azt az SQL utasítást, amit futatni szeretnénk. Kattintsunk kétszer az SQL property-re, erre bejön egy ablak, ahova beírhatjuk az utasításunkat. Jelen esetben ez nagyon egyszerű lesz, az animals.dbf tábla adatait jelenítjük meg.
Erre a következő SQL utasítás szolgál: SELECT * FROM animals
  • Amennyiben a Query-nk egy lekérdezést tartalmaz, és annak az eredményhalmazát meg akarjuk jeleníteni a képernyőn, akkor még szükségünk van egy adatforrás és egy adatmegjelenítési komponensre (pl. DBGrid) is. Tehát tegyünk egy DBGrid és egy DataSource komponenst a formra és a megfelelő tulajdonságaikat állítsuk be a már korábban megismert módon.
  • A Query futtatására többféle lehetőségünk is van. Ha már szerkesztési időben szeretnénk látni egy lekérdezés eredményét, akkor az Active property-t állítsuk true-ra. Futási időben, ha a Query-nk eredményhalmazt szolgáltat, akkor használjuk az Open, egyébként pedig az ExecSQL metódust.
Tehát nincs más dolgunk, mint az Active property true-ra állítása, és ha mindent jól csináltunk, máris meg kell hogy jelenjenek a tábla rekordjai a DBGrid-ben.

Küldés emailben Küldés emailben Nyomtatható verzió Nyomtatható verzió
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Hack100
»Riha60
»Akhiles50
»mrchandra50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen