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
Bearbetning av resultat i en ODBC-applikation innebär först att bestämma egenskaperna hos resultatuppsättningen, och sedan hämta data till programvariabler genom att använda antingen SQLBindCol eller SQLGetData.
För att bearbeta resultat
Hämta information om resultatuppsättningen.
Om bundna kolumner används, för varje kolumn du vill binda till, anropa SQLBindCol för att binda en programbuffert till kolumnen.
För varje rad i resultatmängden:
Anropa SQLFetch för att få nästa rad.
Om bundna kolumner används, använd den data som nu finns tillgänglig i de bundna kolumnbuffertarna.
Om obundna kolumner används, anropa SQLGetData en eller flera gånger för att hämta data för obundna kolumner efter den sista bundna kolumnen. Anrop till SQLGetData bör ske i stigande ordning efter kolumnnummer.
Anropa SQLGetData flera gånger för att hämta data från en text- eller bildkolumn.
När SQLFetch signalerar slutet på resultatuppsättningen genom att returnera SQL_NO_DATA, anropa SQLMoreResults för att avgöra om en annan resultatmängd finns tillgänglig.
Om den returnerar SQL_SUCCESS finns en annan resultatuppsättning tillgänglig.
Om den returnerar SQL_NO_DATA finns inga fler resultatuppsättningar tillgängliga.
Om den returnerar SQL_SUCCESS_WITH_INFO eller SQL_ERROR, anropa SQLGetDiagRec för att avgöra om utdata från en PRINT- eller RAISERROR-sats är tillgänglig.
Om bound-satsparametrar används för utdata eller returvärdet för en lagrad procedur, använd den data som nu finns tillgänglig i bound parameter-buffertarna. Dessutom, när begränsade parametrar används, kommer varje anrop till SQLExecute eller SQLExecDirect att ha exekverat SQL-satsen S gånger, där S är antalet element i arrayen av bundna parametrar. Detta innebär att det kommer att finnas S mängder av resultat att bearbeta, där varje resultatuppsättning består av alla resultatmängder, utdataparametrar och returkoder som vanligtvis returneras av en enda exekvering av SQL-satsen.
Anmärkning
När en resultatmängd innehåller beräkningsrader görs varje beräkningsrad tillgänglig som en separat resultatmängd. Dessa beräkningsresultatmängder är insprängda i normalraderna och delar upp normalraderna i flera resultatmängder.
Valfritt, anropa SQLFreeStmt med SQL_UNBIND för att frigöra eventuella bundna kolumnbuffertar.
Om en annan resultatuppsättning finns tillgänglig, gå till steg 1.
Anmärkning
För att avbryta bearbetningen av en resultatmängd innan SQLFetch returnerar SQL_NO_DATA, anropa SQLCloseCursor.