Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit onderwerp is van toepassing op de MFC ODBC-klassen.
Een CRecordset-object vertegenwoordigt een set records die zijn geselecteerd uit een gegevensbron. De records kunnen afkomstig zijn van:
Een tabel.
Een query.
Een opgeslagen procedure die toegang heeft tot een of meer tabellen.
Een voorbeeld van een recordset op basis van een tabel is 'alle klanten', die toegang hebben tot een tabel Klant. Een voorbeeld van een query is 'alle facturen voor Joe Smith'. Een voorbeeld van een recordset op basis van een opgeslagen procedure (ook wel een vooraf gedefinieerde query genoemd) is 'alle delinquent accounts', waarmee een opgeslagen procedure in de back-end database wordt aangeroepen. Een recordset kan twee of meer tabellen uit dezelfde gegevensbron samenvoegen, maar geen tabellen uit verschillende gegevensbronnen.
Opmerking
Sommige ODBC-stuurprogramma's ondersteunen weergaven van de database. Een weergave in deze zin is een query die oorspronkelijk is gemaakt met de SQL-instructie CREATE VIEW .
Mogelijkheden voor gegevensset
Alle recordset-objecten delen de volgende mogelijkheden:
Als de gegevensbron niet alleen-lezen is, kunt u opgeven dat de recordset kan worden bijgewerkt, kan worden toegevoegd of alleen-lezen. Als de recordset kan worden bijgewerkt, kunt u pessimistische of optimistische vergrendelingsmethoden kiezen, mits het stuurprogramma de juiste vergrendelingsondersteuning levert. Als de gegevensbron alleen-lezen-toegang heeft, heeft de recordset ook alleen-lezen-toegang.
U kunt lidfuncties aanroepen om door de geselecteerde records te bladeren .
U kunt de records filteren om te beperken welke records zijn geselecteerd op basis van de beschikbare records.
U kunt de records in oplopende of aflopende volgorde sorteren op basis van een of meer kolommen.
U kunt de recordset parameteriseren om de selectie van de recordset tijdens runtime te kwalificeren.
Momentopnamen en Dynasets
Er zijn twee hoofdtypen recordsets: momentopnamen en dynasets. Beide worden ondersteund door klasse CRecordset. Elk deelt de gemeenschappelijke kenmerken van alle recordsets, maar elk breidt ook de algemene functionaliteit op een eigen gespecialiseerde manier uit. Momentopnamen bieden een statische weergave van de gegevens en zijn handig voor rapporten en andere situaties waarin u de gegevens wilt weergeven zoals deze op een bepaald moment bestaan. Dynasets zijn handig wanneer u wilt dat updates van andere gebruikers zichtbaar zijn in de recordset zonder dat u de recordset opnieuw hoeft op te vragen of te vernieuwen. Momentopnamen en dynasets kunnen worden bijgewerkt of alleen-lezen. Als u records wilt weergeven die door andere gebruikers zijn toegevoegd of verwijderd, roept u CRecordset::Requery aan.
CRecordset biedt ook twee andere typen recordsets: dynamische recordsets en alleen-leesrecordsets. Dynamische recordsets zijn vergelijkbaar met dynasets; dynamische recordsets weerspiegelen echter alle records die zijn toegevoegd of verwijderd zonder aan te roepen CRecordset::Requery. Daarom zijn dynamische recordsets over het algemeen duur met betrekking tot de verwerkingstijd op de DBMS en veel ODBC-stuurprogramma's ondersteunen ze niet. Recordsets met alleen-doorsturen bieden daarentegen de meest efficiënte methode voor gegevenstoegang voor recordsets waarvoor geen updates of achteruit schuiven nodig zijn. U kunt bijvoorbeeld een recordset met alleen-doorsturen gebruiken om gegevens van de ene gegevensbron naar de andere te migreren, waarbij u alleen door de gegevens hoeft te lopen in een voorwaartse richting. Als u een recordset met alleen-doorstuurservers wilt gebruiken, moet u beide van de volgende handelingen uitvoeren:
Geef de optie
CRecordset::forwardOnlydoor als de parameter nOpenType van de Open-lidfunctie.Geef
CRecordset::readOnlyop in de dwOptions-parameter vanOpen.Opmerking
Zie ODBC voor informatie over odbc-stuurprogrammavereisten voor dynaset-ondersteuning. Zie de odbc-stuurprogrammalijst voor een lijst met ODBC-stuurprogramma's die zijn opgenomen in deze versie van Visual C++ en voor informatie over het verkrijgen van extra stuurprogramma's.
Uw recordsets
Voor elke afzonderlijke tabel, weergave of opgeslagen procedure die u wilt openen, definieert u doorgaans een klasse die is afgeleid van CRecordset. (De uitzondering is een databasedeelname, waarin één recordset kolommen uit twee of meer tabellen vertegenwoordigt.) Wanneer u een recordsetklasse afleidt, schakelt u het RFX-mechanisme (Record Field Exchange) of het mechanisme voor bulkrecordvelduitwisseling (Bulk RFX) in, die vergelijkbaar zijn met het DDX-mechanisme (Dialog Data Exchange). RFX en Bulk RFX vereenvoudigen de overdracht van gegevens uit de gegevensbron naar uw recordset; RFX draagt bovendien gegevens van uw recordset over naar de gegevensbron. Zie Record Field Exchange (RFX) en Recordset: Records ophalen in bulk (ODBC) voor meer informatie.
Een recordsetobject geeft u toegang tot alle geselecteerde records. U bladert door de meerdere geselecteerde records met behulp van CRecordset lidfuncties, zoals MoveNext en MovePrev. Tegelijkertijd vertegenwoordigt een recordsetobject slechts één van de geselecteerde records, de huidige record. U kunt de velden van de huidige record onderzoeken door recordsetklasselidvariabelen te declareren die overeenkomen met kolommen van de tabel of van de records die het resultaat zijn van de databasequery. Zie Recordset: Architecture (ODBC) voor informatie over leden van recordsetgegevens.
In de volgende onderwerpen worden de details van het gebruik van recordsetobjecten uitgelegd. De onderwerpen worden vermeld in functionele categorieën en een natuurlijke bladervolgorde om sequentiële lezing mogelijk te maken.
Onderwerpen over de mechanismen voor het openen, lezen en sluiten van recordsets
Onderwerpen over de mechanica van het wijzigen van recordsets
Onderwerpen over wat geavanceerdere technieken
Recordset: een klasse declareren voor een vooraf gedefinieerde query (ODBC)
Recordset: SOMMEN en andere geaggregeerde resultaten verkrijgen (ODBC)
Onderwerpen over hoe recordsets werken
Zie ook
Open Database Connectivity (ODBC)
MFC ODBC-verbruik
Transactie (ODBC)