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.
Toepassingen kunnen zoveel of zo weinig kolommen van de resultatenset binden als ze kiezen, inclusief het binden van helemaal geen kolommen. Wanneer een rij met gegevens wordt opgehaald, retourneert het stuurprogramma de gegevens voor de afhankelijke kolommen aan de toepassing. Of de toepassing alle kolommen in de resultatenset bindt, is afhankelijk van de toepassing. Toepassingen die rapporten genereren, hebben bijvoorbeeld meestal een vaste indeling; dergelijke toepassingen maken een resultatenset die alle kolommen bevat die in het rapport worden gebruikt, en vervolgens de gegevens voor al deze kolommen binden en ophalen. Met toepassingen die schermen met gegevens weergeven, kan de gebruiker soms bepalen welke kolommen moeten worden weergegeven; dergelijke toepassingen maken een resultatenset met alle kolommen die de gebruiker mogelijk wil, maar bindt en haalt de gegevens alleen op voor de kolommen die door de gebruiker zijn gekozen.
Gegevens kunnen worden opgehaald uit niet-afhankelijke kolommen door SQLGetData aan te roepen. Dit wordt meestal aangeroepen om lange gegevens op te halen, die vaak de lengte van één buffer overschrijden en in delen moeten worden opgehaald.
Kolommen kunnen op elk gewenst moment worden gebonden, zelfs nadat de rijen zijn opgehaald. De nieuwe bindingen worden echter pas van kracht wanneer een rij de volgende keer wordt opgehaald; ze worden niet toegepast op gegevens uit rijen die al zijn opgehaald.
Een variabele blijft gebonden aan een kolom totdat een andere variabele is gebonden aan de kolom, totdat de kolom niet afhankelijk is door SQLBindCol aan te roepen met een null-aanwijzer als adres van de variabele, totdat alle kolommen niet afhankelijk zijn door SQLFreeStmt aan te roepen met de optie SQL_UNBIND of totdat de instructie wordt vrijgegeven. Daarom moet de toepassing ervoor zorgen dat alle afhankelijke variabelen geldig blijven zolang ze gebonden zijn. Zie Buffers toewijzen en vrijmaken voor meer informatie.
Omdat kolombindingen alleen informatie zijn die is gekoppeld aan de instructiestructuur, kunnen ze in elke volgorde worden ingesteld. Ze zijn ook onafhankelijk van de resultatenset. Stel dat een toepassing de kolommen van de resultatenset verbindt die zijn gegenereerd door de volgende SQL-instructie:
SELECT * FROM Orders
Als de toepassing vervolgens de SQL-instructie uitvoert
SELECT * FROM Lines
op dezelfde instructiegreep zijn de kolombindingen voor de eerste resultatenset nog steeds van kracht omdat dit de bindingen zijn die zijn opgeslagen in de instructiestructuur. In de meeste gevallen is dit een slechte programmeerpraktijk en moet worden vermeden. In plaats daarvan moet de toepassing SQLFreeStmt aanroepen met de optie SQL_UNBIND om alle oude kolommen los te koppelen en vervolgens nieuwe kolommen te binden.