Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
En applikation kan tilldela lagring för resultat före eller efter att den kör en SQL-sats. Om en applikation förbereder eller kör SQL-satsen först kan den fråga om resultatuppsättningen innan den tilldelar lagring för resultaten. Till exempel, om resultatmängden är okänd måste applikationen hämta antalet kolumner innan den kan tilldela lagring för dem.
För att associera lagring med en kolumn med data anropar en applikation SQLBindCol och skickar den:
Datatypen som datan ska konverteras till.
Adressen till en utdatabuffert för datan.
Applikationen måste allokera denna buffert, och den måste vara tillräckligt stor för att lagra datan i den form den konverteras till.
Längden på utgångsbufferten.
Detta värde ignoreras om den returnerade datan har en fast bredd i C, såsom en heltals-, reell- eller datumstruktur.
Adressen till en lagringsbuffert där antalet byte tillgänglig data ska returneras.
En applikation kan också binda resultatuppsättningskolumner till arrayer av programvariabler för att stödja hämtning av resultatuppsättningsrader i block. Det finns två olika typer av array-bindning:
Kolumnvis bindning är klar när varje kolumn är bunden till sin egen variabelmatris.
Kolumnvis bindning specificeras genom att anropa SQLSetStmtAttr med Attribute satt till SQL_ATTR_ROW_BIND_TYPE och ValuePtr satt till SQL_BIND_BY_COLUMN. Alla arrayer måste ha samma antal element.
Radvis bindning är klar när alla parametrar i SQL-satsen är bundna som en enhet till en array av strukturer som innehåller de individuella variablerna för parametrarna.
Radvis bindning specificeras genom att anropa SQLSetStmtAttr med Attribut satt till SQL_ATTR_ROW_BIND_TYPE och ValuePtr satt till storleken på strukturen som innehåller variablerna som kommer att ta emot resultatuppsättningens kolumner.
Applikationen sätter också SQL_ATTR_ROW_ARRAY_SIZE till antalet element i kolumn- eller radmatriserna och sätter SQL_ATTR_ROW_STATUS_PTR och SQL_ATTR_ROWS_FETCHED_PTR.