Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Det här avsnittet gäller för MFC ODBC-klasserna.
Ett CRecordset-objekt representerar en uppsättning poster som valts från en datakälla. Posterna kan komma från:
En tabell.
En fråga.
En lagrad procedur som kommer åt en eller flera tabeller.
Ett exempel på en postuppsättning som baseras på en tabell är "alla kunder", som har åtkomst till en kundtabell. Ett exempel på en fråga är "alla fakturor för Joe Smith". Ett exempel på en postuppsättning baserad på en lagrad procedur (kallas ibland en fördefinierad fråga) är "alla de förfallna kontona", som anropar en lagrad procedur i bakgrundsdatabase. En postuppsättning kan koppla samman två eller flera tabeller från samma datakälla, men inte tabeller från olika datakällor.
Anmärkning
Vissa ODBC-drivrutiner stöder vyer av databasen. En vy i den meningen är en fråga som ursprungligen skapades med SQL-instruktionen CREATE VIEW .
Funktioner för arkivhandlingar
Alla postuppsättningsobjekt har följande funktioner:
Om datakällan inte är skrivskyddad kan du ange att postuppsättningen ska vara uppdaterad, tilläggsbar eller skrivskyddad. Om postuppsättningen kan uppdateras kan du välja antingen pessimistisk eller optimistisk låsmetod, förutsatt att drivrutinen tillhandahåller lämpligt låsstöd. Om datakällan är skrivskyddad är postuppsättningen skrivskyddad.
Du kan anropa medlemsfunktioner för att bläddra igenom de valda posterna.
Du kan filtrera posterna för att begränsa vilka poster som väljs från de tillgängliga.
Du kan sortera posterna i stigande eller fallande ordning baserat på en eller flera kolumner.
Du kan parametrisera postuppsättningen för att kvalificera urvalet av postuppsättning vid körning.
Ögonblicksbilder och dynasets
Det finns två huvudsakliga typer av postuppsättningar: ögonblicksbilder och dynasets. Båda stöds av klassen CRecordset. Var och en har de gemensamma egenskaperna för alla postuppsättningar, men utökar även den gemensamma funktionaliteten på sitt eget specialiserade sätt. Ögonblicksbilder ger en statisk vy över data och är användbara för rapporter och andra situationer där du vill ha en vy över data som de fanns vid en viss tidpunkt. Dynasets är användbara när du vill att uppdateringar som görs av andra användare ska synas i postuppsättningen utan att behöva skicka en ny begäran eller uppdatera postuppsättningen. Ögonblicksbilder och dynasets kan vara uppdateringsbara eller endast läsbara. Om du vill återspegla poster som lagts till eller tagits bort av andra användare anropar du CRecordset::Requery.
CRecordset tillåter också två andra typer av postuppsättningar: dynamiska postuppsättningar och endast framåtriktade postuppsättningar. Dynamiska postuppsättningar liknar dynasets; dock återspeglar dynamiska postuppsättningar alla poster som läggs till eller tas bort utan att behöva anropa CRecordset::Requery. Därför är dynamiska postuppsättningar vanligtvis kostsamma när det gäller bearbetningstid på DBMS, och många ODBC-drivrutiner stöder dem inte. Framåtriktade postuppsättningar ger däremot det mest effektiva sättet för dataåtkomst för postuppsättningar som inte kräver uppdateringar eller bakåtgående bläddring. Du kan till exempel använda en postuppsättning som enbart går framåt för att migrera data från en datakälla till en annan, där du bara behöver gå igenom data framåt. Om du vill använda en framåtriktad postuppsättning måste du göra följande två saker:
Skicka alternativet
CRecordset::forwardOnlysom parametern nOpenType i Öppna medlemsfunktionen.Ange
CRecordset::readOnlyi parametern dwOptions förOpen.Anmärkning
Information om ODBC-drivrutinskraven för stöd för dynaset finns i ODBC. En lista över ODBC-drivrutiner som ingår i den här versionen av Visual C++ och information om hur du hämtar ytterligare drivrutiner finns i ODBC-drivrutinslistan.
Dina databaspostuppsättningar
För varje distinkt tabell, vy eller lagrad procedur som du vill komma åt definierar du vanligtvis en klass som härleds från CRecordset. (Undantaget är en databaskoppling, där en postuppsättning representerar kolumner från två eller flera tabeller.) När du härleder en postuppsättningsklass aktiverar du mekanismen för postfältutbyte (RFX) eller mekanismen för masspostfältutbyte (Bulk RFX), som liknar mekanismen för dialogdatautbyte (DDX). RFX och Bulk RFX förenklar överföringen av data från datakällan till ditt register. RFX överför dessutom data från ditt register till datakällan. Mer information finns i Record Field Exchange (RFX) och Recordset: Fetching Records in Bulk (ODBC).
Ett postuppsättningsobjekt ger dig åtkomst till alla valda poster. Du bläddrar igenom flera valda poster med hjälp av CRecordset medlemsfunktioner, till exempel MoveNext och MovePrev. Samtidigt representerar ett recordset-objekt bara en av de valda posterna, den aktuella posten. Du kan granska fälten i den aktuella posten genom att deklarera klasmedlemmar för recordset-klassen som motsvarar kolumnerna i tabellen eller posterna som är resultatet av databasfrågan. Information om postuppsättningsdatamedlemmar finns i Recordset: Architecture (ODBC).
I följande avsnitt beskrivs information om hur du använder postuppsättningsobjekt. Ämnena visas i funktionella kategorier och en naturlig sökordning för att tillåta sekventiell läsning.
Ämnen om hur man öppnar, läser och stänger datamängder
Ämnen om mekanismerna för att modifiera postuppsättningar
Ämnen om något mer avancerade tekniker
Postuppsättning: Deklarera en klass för en fördefinierad fråga (ODBC)
Postmängd: Hämta SUMMAR och andra aggregeringsresultat (ODBC)
Ämnen om hur postuppsättningar fungerar
Se även
Open Database Connectivity (ODBC)
MFC ODBC-användning
Transaktion (ODBC)