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.
In dit onderwerp wordt uitgelegd hoe u een recordset-object kunt gebruiken om een nieuwe query uit te voeren, dat wil zeggen zichzelf te vernieuwen vanuit de database, en wanneer u dat mogelijk wilt doen met de Requery-functie.
De belangrijkste redenen om een recordset opnieuw op te vragen zijn:
Werk de recordset bij met betrekking tot records die door u of door andere gebruikers zijn toegevoegd, en records die door andere gebruikers zijn verwijderd (de records die u verwijdert, worden al weergegeven in de recordset).
Vernieuw de recordset op basis van het wijzigen van parameterwaarden.
De recordset up-to-date brengen
Vaak wilt u een query uitvoeren op uw recordset-object om het up-to-date te houden. In een databaseomgeving met meerdere gebruikers kunnen andere gebruikers tijdens de levensduur van uw recordset wijzigingen aanbrengen in de gegevens. Zie Recordset: Hoe Recordsets Records Bijwerken (ODBC) en Dynaset voor meer informatie over wanneer uw recordset wijzigingen weerspiegelt die door andere gebruikers zijn aangebracht en wanneer de recordsets van andere gebruikers uw wijzigingen weergeven.
Query's opnieuw uitvoeren op basis van nieuwe parameters
Een andere frequente , en even belangrijk - gebruik van Requery is het selecteren van een nieuwe set records op basis van het wijzigen van parameterwaarden.
Aanbeveling
Querysnelheid is waarschijnlijk aanzienlijk sneller als u aanroept Requery met gewijzigde parameterwaarden dan wanneer u opnieuw aanroept Open .
Herberekenen van Dynasets tegen Momentopnamen
Omdat dynasets bedoeld zijn om een set records te presenteren met dynamische up-to-datumgegevens, wilt u vaak de query op dynasets opnieuw uitvoeren als u de toevoegingen van andere gebruikers wilt weergeven. Momentopnamen zijn daarentegen handig omdat u veilig kunt vertrouwen op hun statische inhoud terwijl u rapporten voorbereidt, totalen berekent, enzovoort. Misschien wilt u soms ook een momentopname opnieuw opvragen. In een omgeving met meerdere gebruikers kunnen momentopnamegegevens synchronisatie met de gegevensbron verliezen wanneer andere gebruikers de database wijzigen.
Om een recordsetobject opnieuw op te vragen
- Roep de functie Requery-lid van het object aan.
U kunt de oorspronkelijke recordset ook sluiten en opnieuw openen. In beide gevallen vertegenwoordigt de nieuwe recordset de huidige status van de gegevensbron.
Zie bijvoorbeeld Recordweergaven: Een keuzelijst invullen vanuit een tweede recordset.
Aanbeveling
Als u de prestaties wilt optimaliseren Requery , moet u voorkomen dat u het filter of de sortering van de recordset wijzigt. Wijzig alleen de parameterwaarde voordat u aanroept Requery.
Als de Requery aanroep mislukt, kunt u de aanroep opnieuw proberen. Anders moet uw toepassing probleemloos worden beƫindigd. Een oproep naar Requery of Open kan om een of meer van de redenen mislukken. Misschien treedt er een netwerkfout op; of, na de aanroep, nadat de bestaande gegevens zijn vrijgegeven, maar voordat de nieuwe gegevens worden verkregen, kan een andere gebruiker exclusieve toegang krijgen; of de tabel waarvan uw recordset afhankelijk is, kan worden verwijderd.
Zie ook
Recordset (ODBC)
Recordset: Dynamisch bindende gegevenskolommen (ODBC)
Recordset: Recordsets maken en sluiten (ODBC)