Delen via


Uitgestelde buffers

Een uitgestelde buffer is een buffer waarvan de waarde op een bepaald moment wordt gebruikt nadat deze is opgegeven in een functieaanroep. SQLBindParameter wordt bijvoorbeeld gebruikt om een gegevensbuffer te koppelen aan of te binden aan een parameter in een SQL-instructie. De toepassing geeft het nummer van de parameter op en geeft het adres, de bytelengte en het type van de buffer door. Het stuurprogramma slaat deze informatie op, maar onderzoekt de inhoud van de buffer niet. Wanneer de toepassing de instructie uitvoert, haalt het stuurprogramma de informatie op en gebruikt het om de parametergegevens op te halen en naar de gegevensbron te verzenden. Daarom wordt de invoer van gegevens in de buffer uitgesteld. Omdat uitgestelde buffers worden opgegeven in één functie en in een andere functie worden gebruikt, is het een programmeerfout in de toepassing om een uitgestelde buffer vrij te maken terwijl het stuurprogramma verwacht dat deze bestaat; Zie Buffers toewijzen en vrijmaken verderop in deze sectie voor meer informatie.

Zowel invoer- als uitvoerbuffers kunnen worden uitgesteld. De volgende tabel bevat een overzicht van het gebruik van uitgestelde buffers. Houd er rekening mee dat uitgestelde buffers die zijn gebonden aan kolommen in de resultatenset worden opgegeven met SQLBindCol en dat buffers die zijn gebonden aan SQL-opdrachtparameters worden opgegeven met SQLBindParameter.

Buffergebruik Typologie Opgegeven met Wordt gebruikt door
Gegevens verzenden voor invoerparameters Uitgestelde invoer SQLBindParameter SQLExecute
SQLExecDirect
Gegevens verzenden om een rij bij te werken of in te voegen in een resultatenset Uitgestelde invoer SQLBindCol SQLSetPos
Gegevens retourneren voor uitvoer- en invoer-/uitvoerparameters Uitgestelde uitvoer SQLBindParameter SQLExecute
SQLExecDirect
Resultaatsetgegevens retourneren Uitgestelde uitvoer SQLBindCol SQLFetch
SQLFetchScroll SQLSetPos