HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Néhány hasznos adatbázis információ


Példaprogram letöltése

3839 bájt

Ebben a példában megnézzük, hogy miként tudhatjuk meg a következő információkat: milyen adatbázisokat érhetünk el? Milyen adatelérési meghajtókat használhatunk? Milyen adattáblái vannak egy megadott adatbázisnak? Milyen mezőtípusokat használhatunk például egy Paradox vagy DBase típusú táblában, verzióktól függően?

Az információk meghatározásához a BDE-t hívjuk segítségül. A uses listában fel kell sorolnunk a DB, valamint a BDE unit-ok neveit.
Ahhoz, hogy a BDE függvények működjenek, alkalmazásunknak rendelkeznie kell legalább egy aktív adatkapcsolattal. A mellékelt példában, a DBDEMOS adatbázis animals.dbf táblájához kapcsolódtunk.
Az alábbiakban bemutatásra kerülő BDE függvényekben közös, hogy egy eredménylistát adnak vissza, amely egy hdbicur típusú változóban kerül tárolásra. A hdbicur tartalma virtuális táblaként kezelhető, így sorait folyamatosan beolvashatjuk egy végjelig.
A virtuális tábla egy elemének beolvasására a DbiGetNextRecord függvény szolgál.
repeat
  dr:=DbiGetNextRecord(TmpCursor,dbiNOLOCK,@FieldType,Nil);
  if (dr<>DBIERR_EOF) then
    ListBox1.Items.Add(FieldType.szName);
until (dr<>DBIERR_NONE);
DbiGetNextRecord
function DbiGetNextRecord (
hCursor: hDBICur;
eLock: DBILockType;
pRecBuff: Pointer;
precProps: pRECProps
): DBIResult;
Egy tábla következő sorának beolvasására szolgál.
Paraméterek
hCursor: hDBICur
A tábla azonosítója.
eLock: DBILockType
Megadhatjuk, hogy a hozzáférés során milyen zárolást alkalmazzunk.
Érték Jelentése
dbiNOLOCK Nincs zárolás.
dbiREADLOCK Olvasás zárolása.
dbiWRITELOCK Írás zárolása.
pRecBuff: Pointer
Ebben a paraméterben kell megadnunk azt a változót, amelybe a beolvasott rekord tartalma kerül. A változó típusa függ a beolvasandó adatszerkezettől.
precProps: pRECProps
Ebben a paraméterben is egy változót adhatunk meg, amelybe a lekérdezett rekord tulajdonságai kerülnek. Ha nincs szükségünk ezekre az adatokra, használhatjuk a Nil értéket is.
Visszatérési érték
Érték Jelentése
DBIERR_NONE A következő rekord beolvasása sikeresen megtörtént.
DBIERR_EOF A tábla véget ért.
DBIERR_INVALIDHNDL A tábla azonosítója érvénytelen.
DBIERR_ALREADYLOCKED A tábla már zárolva van. A zárolást ugyanaz session és felhasználó végezte.
DBIERR_FILELOCKED A táblát már egy másik felhasználó zárolta.
Milyen adatbázisokat érhetünk el?
Ezt a DbiOpenDatabaseList függvény segítségével kérdezhetjük le.
DbiOpenDatabaseList
function DbiOpenDatabaseList (
var hCur: hDBICur
): DBIResult;
Egy eredménytáblát készít az elérhető adatbázisok adataiból.
Paraméterek
var hCur: hDBICur
Ebben a változóban egy kurzort kapunk meg, amely a lekérdezés eredménytáblájának legelejére mutat.
Visszatérési érték
Érték Jelentése
DBIERR_NONE A lekérdezés sikeresen megtörtént.
DBIERR_INVALIDHNDL A hCur paraméterben Nil érték lett megadva.
Az eredménytábla egyes elemei DBDesc típusúak.
Struktúra tag Jelentése
szName: DBINAME Az adatbázis, alias neve.
szText: DBINAME Leírás.
szPhyName: DBIPATH Fizikai elérési út.
szDbType: DBINAME Adatbázis típusa.
Milyen adatelérési meghajtókat használhatunk?
Erre a DbiOpenDriverList függvény kínál megoldást.
DbiOpenDriverList
function DbiOpenDriverList (
var hCur: hDBICur
): DBIResult;
Egy eredménytáblát készít az elérhető adatelérési meghajtók adataiból.
Paraméterek
var hCur: hDBICur
Ebben a változóban egy kurzort kapunk meg, amely a lekérdezés eredménytáblájának legelejére mutat.
Visszatérési érték
Érték Jelentése
DBIERR_NONE A lekérdezés sikeresen megtörtént.
DBIERR_INVALIDHNDL A hCur paraméterben Nil érték lett megadva.
DBIERR_NOCONFIGFILE Nem volt elérhető információ.
DBIERR_OBJNOTFOUND Nem volt elérhető meghajtó.
Az eredménytábla DRVType típusú elemekből áll.
Struktúra tag Jelentése
szType: DBINAME Típusnév.
szText: DBINAME Leírás.
edrvCat: DRVCat A meghajtó típusa. Lehet: drvFILE (állomány alapú, mint a DBase, Paradox), drvSQLBASEDSERVER (SQL szerver alapú), drvOTHERSERVER (más szerver alapú).
bTrueDb: BOOL Igaz érték esetén, a meghajtó támogatja a valódi adatbázis kezelési koncepciót.
szDbType: DBINAME Az adatbázis típusa.
bMultiUser: BOOL Igaz érték esetén a meghajtó támogatja a több felhasználós hozzáférést.
bReadWrite:BOOL Igaz érték esetén a hozzáférés típusa írás és olvasás, hamis érték esetén csak olvasás.
bTrans: BOOL Igaz érték esetén a meghajtó támogatja a tranzakciók kezelését.
bPassThruSQL: BOOL Igaz érték esetén a meghajtó támogatja az SQL-t.
bLogIn: BOOL Igaz érték esetén a meghajtó bejelentkezést igényel.
bCreateDb: BOOL Igaz érték esetén a meghajtó képes új adatbázis létrehozására.
bDeleteDb: BOOL Igaz érték esetén a meghajtó képes az adatbázis törlésére.
Milyen adattáblái vannak egy megadott adatbázisnak?
Ezt a DbiOpenTableList függvény segítségével kérdezhetjük le.
DbiOpenTableList
function DbiOpenTableList (
hDb: hDBIDb;
bExtended: Bool;
bSystem: Bool;
pszWild: PChar;
var hCur: hDBICur
): DBIResult
Egy eredménytáblát készít a megadott adatbázisban elérhető adattáblák adataiból.
Paraméterek
hDb: hDBIDb
Az adatbázis azonosítója.
bExtended: Bool
Hamis érték esetén csak az alap információk kerülnek lekérdezésre, igaz érték esetén több információ kerül lekérdezésre.
bSystem: Bool
Csak SQL esetén használható. Igaz érték esetén a lekérdezésben a rendszertáblák is szerepelnek, hamis érték esetén nem.
pszWild: PChar
Itt egy kereső feltételt adhatunk meg, pl.: *.dbf.
var hCur: hDBICur
Ebben a változóban egy kurzort kapunk meg, amely a lekérdezés eredménytáblájának legelejére mutat.
Visszatérési érték
Érték Jelentése
DBIERR_NONE A lekérdezés sikeresen megtörtént.
DBIERR_INVALIDHNDL A hCur paraméterben Nil érték lett megadva.
A lekérdezés eredménye TBLBaseDesc, vagy TBLFullDesc lehet, a bExtended paraméter értékétől függően.
A TBLBaseDesc struktúra tagjai:
Struktúra tag Jelentése
szName: DBITBLNAME Tábla neve.
szFileName: DBITBLNAME Állomány neve.
szExt: DBIEXT Állomány kiterjesztése.
szType: DBINAME A meghajtó típusa.
dtDate: DBIDATE Dátum.
tmTime: TIME Idő.
Size: UINT32 Méret, bájtokban.
bView: BOOL Csak SQL esetén használt. Értéke igaz, ha a tábla csak nézet.
A TBLFullDesc struktúra tblExt tagján keresztül elérhetőek a következő tagok is.
Struktúra tag Jelentése
szStruct: DBINAME Fizikai struktúra.
iRestrVersion: UINT16 Verziószám.
iRecSize: UINT16 Fizikai rekordméret.
iFields: UINT16 Mezők száma.
iIndexes: UINT16 Indexek száma.
iValChecks: UINT16 Mezőellenőrzések száma.
iRintChecks: UINT16 Hivatkozások száma.
iRecords: UINT32 Rekordok száma.
bProtected: BOOL Igaz értéke esetén, a tábla védett.
bValidInfo: BOOL Ha értéke hamis, akkor a kiterjesztett információk egy része nem elérhető.
Milyen mezőtípusokat használhatunk például egy Paradox vagy DBase típusú táblában, verzióktól függően?
Ezt a DbiOpenFieldTypesList függvény segítségével kérdezhetjük le.
DbiOpenFieldTypesList
function DbiOpenFieldTypesList (
pszDriverType: PChar;
pszTblType: PChar;
hCur: hDBICur
): DBIResult
A megadott típusú és verziójú adatbázis típus által használható mezőtípusokat adja meg.
Paraméterek
pszDriverType: PChar
Meghajtó típusa.
pszTblType: PChar
Verziószám. Ha a ’’ értéket használjuk, akkor az az alapértelmezett verziót jelöli.
hCur: hDBICur
Ebben a változóban egy kurzort kapunk meg, amely a lekérdezés eredménytáblájának legelejére mutat.
Visszatérési érték
Érték Jelentése
DBIERR_NONE A lekérdezés sikeresen megtörtént.
DBIERR_UNKNOWNDRIVER Ismeretlen meghajtó.
Az eredménylistát tartalmazó tábla egy rekordja FLDType típusú.
Struktúra tag Jelentése
iId: UINT16 A mezőtípus azonosítója.
szName: DBINAME Szimbolikus név.
szNativeName: DBINAME SQL kifejezésekben használt név.
szText: DBINAME Leírás.
iPhyType: UINT16 Típus.
iXltType: UINT16 Alapértelmezett, lefordított típus.
iXltSubType: UINT16 Alapértelmezett, lefordított altípus.
MaxUnits1: UINT16 Maximális egység 1.
MaxUnits2: UINT16 Maximális egység 2.
PhySize: UINT16 Fizikai méret, egységenként.
bRequired: BOOL Igaz érték esetén a mező támogatja, a ki kell tölteni lehetőséget.
bDefaultVal: BOOL Igaz érték esetén a mező támogatja, az alapértelmezett érték használatát.
bMinVal: BOOL Igaz érték esetén a mező támogatja, a minimum érték használatát.
bMaxVal: BOOL Igaz érték esetén a mező támogatja, a maximum érték használatát.
bRefIntegrity: BOOL Igaz érték esetén a mező támogatja, a hivatkozások használatát.
bOtherChecks: BOOL Igaz érték esetén a mező támogatja, az egyéb ellenőrzések használatát.
bKeyed: BOOL Igaz érték esetén a mezőből lehet kulcsmezőt készíteni.
bMultiplePerTable: BOOL Igaz érték esetén egy adattáblában több ilyen mező is szerepelhet.
iMinUnits1: UINT16 Minimális egység 1.
iMinUnits2: UINT16 Minimális egység 2.
bCreateable: BOOL Igaz érték esetén a mező létrehozható.

Cikksorozat

#IDKategóriaCikk címeSorozat
2591WindowsTippek és trükkök - RAS - Modem csengetési szám állítása1. rész
2622WindowsTippek és trükkök - Program futtatása más felhasználóként2. rész
2640WindowsA Windows ikonméretének megváltoztatása és Windows 2000 Asztaltémák3. rész
2657WindowsTippek és trükkök - Internet Explorer4. rész
2667WindowsTippek és trükkök5. rész
2684WindowsAlapértelmezések állítása, telepítési fájlok helye, intéző nézetek6. rész
2696WindowsBiztonsági trükkök7. rész
2702WindowsWindows XP trükkök8. rész
2729WindowsWindows 2000 és XP tippek, trükkök9. rész
2757WindowsRegistry trükkök10. rész
2784WindowsTippek, trükkök11. rész
2829WindowsTippek, trükkök12. rész
2889WindowsWindows XP tippek13. rész
2909WindowsTippek Windows XP-hez14. rész
2919WindowsWindows tippek15. rész
2924WindowsWindows tippek16. rész
2963WindowsWindows tippek17. rész
2973WindowsWindows Tippek18. rész
2981WindowsWindows tippek19. rész
2990WindowsTippek-trükkök20. rész
3027WindowsIIS tippek21. rész
3034WindowsWindows XP tippek-trükkök22. rész
3088WindowsWindows 2000/XP tippek, trükkök23. rész
3133WindowsWindows XP tippcsokor24. rész
3140WindowsWindows XP tippek, trükkök25. rész
3152WindowsXP és IIS tippek - trükkök26. rész
3158WindowsWindows XP tippek, trükkök27. rész
3168WindowsTippek, trükkök28. rész
3170WindowsRegistry trükkök29. rész
3179WindowsTippek, trükkök30. rész
3197WindowsWindows XP tippek, trükkök31. rész
3205WindowsTippek, trükkök32. rész
3214WindowsTippek, trükkök33. rész
3223WindowsTippek, trükkök34. rész
3233WindowsTippek, trükkök35. rész
3271WindowsTippek, trükkök36. rész
3307WindowsTippek, trükkök37. rész
3370WindowsTippek, trükkök38. rész
3399WindowsTippek, trükkök39. rész
3510WindowsTippek, trükkök40. rész
3611WindowsHardverrel kapcsolatos tippek, trükkök41. rész
3668WindowsRegistry trükkök42. rész
3711WindowsTippek, trükkök43. rész
3771WindowsTippek, trükkök44. rész
3801WindowsTippek, trükkök45. rész
3831WindowsTippek, trükkök46. rész
3891WindowsTippek, trükkök47. rész
3921WindowsTippek, trükkök48. rész
3981WindowsTippek, trükkök49. rész
4041WindowsTippek, trükkök50. rész
4071WindowsTippek, trükkök51. rész
4151WindowsTippek, trükkök52. rész
4171C#Tippek, trükkök53. rész
4211WindowsTippek, trükkök54. rész
4251WindowsTippek, trükkök55. rész
4281WindowsTippek, trükkök56. rész
3589DelphiTippek, trükkök57. rész
3718DelphiTippek, trükkök58. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 398. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |