Adatbázisok használata a dao használatával

Adatbázisok használata a DAO használatával

Egyre több programot használnak adatbázisadatok tárolására. Az adatbázisok kezeléséhez használt egyik eszköz a DAO (Data Access Objects) könyvtár. Erről szól, és ebben a cikkben tárgyalja.
Először csatlakoztassa ezt a könyvtárat. Ehhez válassza ki a "Microsoft DAO 3.6 Objektumok könyvtár" pontot a Project | References menüben. A Visual Basic 6.0 tartalmazza a 3.6 verziójú könyvtárat. Ha van egy korábbi verziója - jelölje meg, nincsenek különösebb különbségek.
Megjegyzés: Ez a cikk az MS Access adatbázisok (* .mdb) használatával foglalkozik. Vannak más típusú adatbázisok is, például a FoxPro.

Hogyan válasszuk ki az adatokat? Először írja le a változókat.

Nyissa meg az adatbázist. Ehhez hívja az OpenDatabase metódust, és adja át az adatbázis teljes elérési útját és fájlnevét paraméterként. Ne feledje, hogy a db egy objektum, ezért a kulcsszót írjuk.

Lekérdezzük az SQL lekérdezést. Tegyük fel, hogy meg kell kapnunk a Megrendelések táblázat összes területét.

Most nyissa meg a rekordot. Ehhez az első paraméterrel - az SQL lekérdezéssel - a db objektum OpenRecordset módját hívjuk. Ennek az objektumnak további 3 opcionális paramétere van.
A típusparaméter határozza meg a rekord típusait. A következő államok egyik értékét veheti igénybe:

Szerkeszthető objektum. Az indexelt táblák használata során gyorsan megtalálhatja és visszaadhatja a rekordokat.

Frissítve. Hatékony, mert a fő lekérdezés adatainak referenciáit mutatja be (nem valós adatok). Visszajátszhatja a rekordokat több táblázatból a csatlakozás használatával, még akkor is, ha ezek a táblák több adatbázisból kapcsolódnak. Az ilyen nyilvántartások sok esetben frissülnek.

A Dynaset és az asztali objektumoknál gyorsabban feldolgozható, különösen kis rekordok számára. Visszajátszhatja a rekordokat több táblázatból csatlakozással. Az ilyen nyilvántartások sok esetben frissülnek.

Futtat gyorsabb, mint a pillanatkép objektum. A szakszervezet használatával több táblából is visszajuttathatja a rekordokat.

Frissítve. Visszajátszhatja a rekordokat több táblázatból csatlakozással.

A típusparaméter alapértelmezett értéke a dbOpenTable.
Az opciók paraméter a megnyitott rekordok egyes jellemzőit határozza meg. Ez egy olyan értéket vehet fel, amely 11 konstans kombinációjából áll.
A LockEdit paraméter (a DAO 3.5-ben ezt a paramétert zároltnak nevezik) meghatározza a rekord feloldásának típusát. 5 állandót tartalmazhat:

Az előző felvételre való áttérésre szolgál.

Hasznos tulajdonságok: BOF és EOF.
A BOF True értéket ad vissza, ha az aktuális rekord a Recordset objektum első rekordja előtt van.
Az EOF True értéket ad vissza, ha az aktuális rekord a Recordset objektum utolsó rekordja után van.

Az aktuális rekord a Fields osztályban van.

A Debug.Print helyett természetesen az assignment operator (=)

Zárja be a rekordot és az adatbázist
Az eljárás végén, hogy szabadítsák fel a memóriát

Rekordok hozzáadása és szerkesztése

Hasonló technológiát alkalmaznak a rekordok hozzáadásához és módosításához.
Amikor felveszi a rekordot, nyissa meg a rekordot.

Egy bejegyzés hozzáadásához használja a Recordset objektum AddNew módját.

Most hozzáadódik a rekord, és kitöltjük a bejegyzés összes mezőjét.

Bezárjuk a rekordot és az adatbázist, és felszabadítjuk a memóriát.

A bejegyzés módosítása nagyon hasonló az előző kódhoz. A rekord módosításához használja a Szerkesztési módot. Szintén meg kell változtatnia az SQL lekérdezést, és így kell tennie:

Feltételezzük, hogy létezik olyan azonosító mező, amelynek típusa numerikus, és értéke minden egyes rekord esetében egyedülálló. Ebben az esetben módosítjuk a rekordot, amelynek mezőazonosító értéke 23.

Törölheti a rekordot két módon. Az első mód az SQL lekérdezés végrehajtása a DELETE paranccsal. A rekordot azonosítsa a mezőazonosítóval. Feltételezzük, hogy az azonosító mező értékek egyediek az egyes rekordok esetében. Törölje a rekordot, amelynek azonosítója 5.

Nem kell megnyitnia a rekordot, mert nem kell adatokat gyűjteni az adatbázisból. A lekérdezés végrehajtásához egy Database objektum végrehajtási módját használjuk. 2 paramétere van. A Query első paramétere a végrehajtható lekérdezés stringje. A második opcionális paraméter opció állandó vagy konstans kombinációja, amely tükrözi a végrehajtható lekérdezés jellemzőit.

A rekord törlésének másik módja a Recordset típusú objektum törlési módjának használata. Ez a módszer törli az aktuális rekordot. Nincs paramétere.

A bejegyzések száma és az aktuális rekord száma

A rekordok számának meghatározásához használja a Recordset objektum RecordCount tulajdonságát. De van egy kis ellentmondás. Ha egy rekord, például Dynaset, Snapshot vagy ForwardOnly, a RecordCount tulajdonság csak az utolsó rekord elérésekor jeleníti meg a rekordok számát. Ebben az esetben azonnal át kell térnie a rekord végére.

Az aktuális rekord számát az AbsolutePosition tulajdonság határozza meg. A számlálás a semmiből indul. Ie ha az aktuális rekord az első, akkor az AbsolutePosistion megmutatja a 0. Ha az aktuális rekord az első vagy az utolsó után van, akkor az AbsolutePosition tulajdonság -1 lesz látható.
A PercentPosition tulajdonság az aktuális rekordszám százalékát adja vissza a rekordok számából.

A DAO-val való együttműködés egyik példája itt található.

Kapcsolódó cikkek