Delen via


Descriptor-handvatten

Een descriptor is een verzameling metagegevens die de parameters van een SQL-instructie of de kolommen van een resultatenset beschrijft, zoals wordt gezien door de toepassing of het stuurprogramma (ook wel de implementatie genoemd). Een descriptor kan dus een van de vier rollen vullen:

  • Application Parameter Descriptor (APD). Bevat informatie over de toepassingsbuffers die zijn gebonden aan de parameters in een SQL-instructie, zoals hun adressen, lengten en C-gegevenstypen.

  • Implementatie Parameter Descriptor (IPD) Bevat informatie over de parameters in een SQL-instructie, zoals hun SQL-gegevenstypen, lengten en null-waarde.

  • Application Row Descriptor (ARD). Bevat informatie over de toepassingsbuffers die zijn gebonden aan de kolommen in een resultatenset, zoals hun adressen, lengten en C-gegevenstypen.

  • Implementatierijdescriptor (IRD). Bevat informatie over de kolommen in een resultatenset, zoals hun SQL-gegevenstypen, lengten en null-waarde.

Vier descriptors (één die elke rol invult) worden automatisch toegewezen wanneer een instructie wordt toegewezen. Deze worden automatisch toegewezen descriptors genoemd en worden altijd gekoppeld aan die instructie. Toepassingen kunnen ook descriptors toewijzen met SQLAllocHandle. Deze worden expliciet toegewezen descriptors genoemd. Ze worden toegewezen aan een connectie en kunnen worden gekoppeld aan een of meer verklaringen op die connectie om de rol van een APD of ARD op die verklaringen te vervullen.

De meeste bewerkingen in ODBC kunnen worden uitgevoerd zonder expliciet gebruik van descriptors door de toepassing. Descriptors bieden echter een handige snelkoppeling voor sommige bewerkingen. Stel dat een toepassing gegevens uit twee verschillende sets buffers wil invoegen. Als u de eerste set buffers wilt gebruiken, wordt SQLBindParameter herhaaldelijk aangeroepen om ze te binden aan de parameters in een INSERT-instructie en vervolgens de instructie uit te voeren. Als u de tweede set buffers wilt gebruiken, wordt dit proces herhaald. U kunt ook bindingen instellen op de eerste set buffers in één descriptor en op de tweede set buffers in een andere descriptor. Om te schakelen tussen de sets bindingen roept de toepassing eenvoudig SQLSetStmtAttr aan en koppelt de juiste descriptor aan de instructie als de APD.

Zie Types descriptoren voor meer informatie over descriptoren.