Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a témakör az MFC ODBC-osztályokra vonatkozik.
A CRecordset objektum egy adatforrásból kiválasztott rekordkészletet jelöl. A rekordok a következő forrásból származhatnak:
Egy asztal.
Lekérdezés.
Tárolt eljárás, amely egy vagy több táblához fér hozzá.
Egy táblán alapuló rekordhalmazra példa az "összes ügyfél", amely egy Ügyfél táblához fér hozzá. Egy lekérdezésre példa a "Joe Smith összes számlája". Egy tárolt eljáráson (más néven előre definiált lekérdezésen) alapuló rekordhalmaz például "az összes delinquent fiók", amely egy tárolt eljárást hív meg a háttéradatbázisban. A rekordhalmazok ugyanabból az adatforrásból két vagy több táblát is összekapcsolhatnak, a különböző adatforrásokból származó táblákat azonban nem.
Megjegyzés:
Egyes ODBC-illesztőprogramok támogatják az adatbázis nézeteit. Ebben az értelemben a nézet egy olyan lekérdezés, amely eredetileg az SQL-utasítással CREATE VIEW jött létre.
Rekordhalmaz képességei
Minden rekordhalmaz-objektum a következő képességekkel rendelkezik:
Ha az adatforrás nem írásvédett, megadhatja, hogy a rekordhalmaz frissíthető, hozzáfűzhető vagy írásvédett legyen. Ha a rekordhalmaz frissíthető, választhat pesszimista vagy optimista zárolási módszereket is, feltéve, hogy az illesztőprogram biztosítja a megfelelő zárolási támogatást. Ha az adatforrás írásvédett, a rekordhalmaz írásvédett lesz.
A kijelölt rekordok görgetéséhez hívhat meg tagfüggvényeket.
A rekordok szűrésével korlátozhatja, hogy mely rekordok legyenek kiválasztva az elérhető rekordok közül.
A rekordokat növekvő vagy csökkenő sorrendbe rendezheti egy vagy több oszlop alapján.
Paraméterezheti a rekordhalmazt, hogy futásidőben minősítse a rekordhalmaz kiválasztását.
Pillanatképek és dinasztiák
A rekordhalmazoknak két fő típusa van: pillanatképek és dinasztiák. Mindkettőt az osztály CRecordsettámogatja. Mindegyik osztja az összes rekordhalmaz közös jellemzőit, de a közös funkciókat is kiterjeszti a saját speciális módján. A pillanatképek statikus nézetet biztosítanak az adatokról, és olyan jelentésekhez és más helyzetekhez hasznosak, amelyekben az adott időpontban meglévő adatok megtekintésére van szüksége. A dynasets akkor hasznos, ha azt szeretné, hogy a többi felhasználó által végzett frissítések a rekordhalmazban jelenjenek meg anélkül, hogy újra kellene lekérdeznie vagy frissítenie a rekordhalmazt. A pillanatképek és a dinahalmazok frissíthetők vagy írásvédettek lehetnek. A más felhasználók által hozzáadott vagy törölt rekordok tükrözéséhez hívja meg a CRecordset::Requery parancsot.
CRecordset emellett két másik típusú rekordkészletet is lehetővé tesz: dinamikus és csak továbbítási rekordhalmazokat. A dinamikus rekordhalmazok hasonlóak a dinakészletekhez; a dinamikus rekordhalmazok azonban az anélkül hozzáadott vagy törölt rekordokat tükrözik, hogy CRecordset::Requery meghívásra kerülne. Emiatt a dinamikus rekordhalmazok általában költségesek a DBMS feldolgozási ideje tekintetében, és sok ODBC-illesztő nem támogatja őket. Ezzel szemben a csak továbbítási rekordhalmazok biztosítják a leghatékonyabb adathozzáférési módszert olyan rekordhalmazokhoz, amelyek nem igényelnek frissítéseket vagy visszamenőleges görgetést. Előfordulhat például, hogy egy csak továbbítási rekordkészletet használ az adatok egyik adatforrásból a másikba való migrálásához, ahol csak előrefelé kell haladnia az adatok között. Csak továbbítandó rekordhalmaz használatához az alábbiakat kell elvégeznie:
Adja meg az
CRecordset::forwardOnlyopciót az nOpenType paramétereként az Open tagfüggvényben.Adja meg
CRecordset::readOnlya dwOptions paraméterben.OpenMegjegyzés:
A dinaképsor támogatásának ODBC-illesztőprogram követelményeiről az ODBC dokumentációban olvashat. A Visual C++ jelen verziójában szereplő ODBC-illesztőprogramok listájáról és a további illesztőprogramok beszerzéséről az ODBC-illesztőprogramok listájában olvashat.
Az Ön rekordhalmazai
Az elérni kívánt különböző táblákhoz, nézetekhez vagy tárolt eljárásokhoz általában egy osztályt határoz meg, amelyből CRecordsetszármazik. (A kivétel egy adatbázis-illesztés, amelyben egy rekordhalmaz két vagy több tábla oszlopait jelöli.) Rekordhalmaz-osztály létrehozásakor engedélyezi a rekordmezőcsere (RFX) mechanizmust vagy a tömeges rekordmezőcsere (Bulk RFX) mechanizmust, amely hasonló a párbeszédpanel adatcsere (DDX) mechanizmusához. Az RFX és a tömeges RFX leegyszerűsíti az adatok átvitelét az adatforrásból a rekordhalmazba; Az RFX emellett adatokat továbbít a rekordhalmazból az adatforrásba. További információ: Record Field Exchange (RFX) és Recordset: Rekordok tömeges lekérdezése (ODBC).
A rekordhalmaz-objektumok az összes kijelölt rekordhoz hozzáférést biztosítanak. Több kijelölt rekordot végiggörgethet tagfüggvényekkel, például CRecordset és MoveNext. Ugyanakkor egy rekordhalmaz-objektum csak az egyik kijelölt rekordot, az aktuális rekordot jelöli. Az aktuális rekord mezőinek vizsgálatához deklarálhatja a tábla oszlopainak vagy az adatbázis-lekérdezésből származó rekordoknak megfelelő rekordhalmaz-tagváltozókat. A rekordhalmaz-adattagokról további információt a Recordset: Architecture (ODBC) című témakörben talál.
Az alábbi témakörök ismertetik a rekordhalmaz-objektumok használatának részleteit. A témakörök funkcionális kategóriákban és természetes tallózási sorrendben jelennek meg, hogy lehetővé tegyék a szekvenciális olvasást.
A rekordhalmazok megnyitásának, olvasásának és bezárásának mechanikájával kapcsolatos témák
Témakörök a rekordhalmazok módosításának mechanikájáról
Témakörök valamivel fejlettebb technikákról
Rekordhalmaz: Osztály deklarálása előre definiált lekérdezéshez (ODBC)
Rekordhalmaz: SUM-ek és egyéb összesített eredmények beszerzése (ODBC)
A rekordhalmazok működéséről szóló témakörök
Rekordhalmaz: Hogyan választják ki a rekordokat a rekordhalmazok (ODBC)
Rekordhalmaz: Hogyan frissítik a rekordhalmazok a rekordokat (ODBC)
Lásd még
Open Database Connectivity (ODBC) - nyílt adatbázis-kapcsolat
MFC ODBC-felhasználás
Tranzakció (ODBC)