Delen via


Resultaten ophalen (geavanceerd)

Een toepassing kan opgeven dat er een offset wordt toegevoegd aan afhankelijke gegevensbufferadressen en de bijbehorende lengte/indicatorbufferadressen wanneer SQLBulkOperations, SQLFetch, SQLFetchScroll of SQLSetPos wordt aangeroepen. De resultaten van deze toevoegingen bepalen de adressen die in deze bewerkingen worden gebruikt.

Met bindings offsets kan een toepassing bindingen wijzigen zonder SQLBindCol aan te roepen voor eerder gebonden kolommen. Een aanroep van SQLBindCol voor het opnieuw koppelen van gegevens wijzigt het bufferadres en de lengte/indicator aanwijzer. Door middel van herbinding met een offset wordt simpelweg een offset toegevoegd aan het adres van de bestaande gebonden gegevensbuffer en het lengte-/indicatorbufferadres. Wanneer offsets worden gebruikt, zijn de bindingen een 'sjabloon' van hoe de toepassingsbuffers worden ingedeeld en kan de toepassing deze sjabloon naar verschillende gebieden van het geheugen verplaatsen door de offset te wijzigen. Een nieuwe offset kan op elk gewenst moment worden opgegeven en wordt altijd toegevoegd aan de oorspronkelijk gebonden waarden.

Als u een bindoffset wilt opgeven, stelt de toepassing de instructie 'SQL_ATTR_ROW_BIND_OFFSET_PTR' in op het adres van een SQLINTEGER-buffer. Voordat de toepassing een functie aanroept die gebruikmaakt van de bindingen, zoals SQLBulkOperations, SQLFetch, SQLFetchScroll of SQLSetPos, wordt er een offset in bytes in deze buffer geplaatst, zolang het adres van de gegevensbuffer noch het adres van de lengte/indicatorbuffer 0 is en zolang de afhankelijke kolom zich in de resultatenset bevindt. De som van het adres en de offset moet een geldig adres zijn. (Dit betekent dat zowel de offset als het adres waaraan de offset wordt toegevoegd, ongeldig kan zijn, zolang de som een geldig adres is.) Het kenmerk SQL_ATTR_ROW_BIND_OFFSET_PTR instructie is een aanwijzer, zodat de offsetwaarde kan worden toegepast op meer dan één set bindingsgegevens, die allemaal kunnen worden gewijzigd door één offsetwaarde te wijzigen. Een toepassing moet ervoor zorgen dat de aanwijzer geldig blijft totdat de cursor is gesloten.

Opmerking

Binding-offsets worden niet ondersteund door ODBC 2.x-stuurprogramma's.

Deze sectie bevat de volgende onderwerpen.