Rulla och hämta rader
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Om du vill använda en rullningsbar markör måste ett ODBC-program:
Ange markörfunktionerna med hjälp av SQLSetStmtAttr.
Öppna markören med SQLExecute eller SQLExecDirect.
Rulla och hämta rader med SQLFetch eller SQLFetchScroll.
Både SQLFetch och SQLFetchScroll kan hämta rader i taget. Antalet rader som returneras anges med hjälp av SQLSetStmtAttr för att ange parametern SQL_ATTR_ROW_ARRAY_SIZE.
ODBC-program kan använda SQLFetch- för att hämta via en framåtriktad markör.
SQLFetchScroll används för att rulla runt en markör. SQLFetchScroll stöder hämtning av nästa, tidigare, första och sista raduppsättningar utöver relativ hämtning (hämta raduppsättningen n rader från början av den aktuella raduppsättningen) och absolut hämtning (hämta raduppsättningen som börjar på rad n). Om n är negativ i en absolut hämtning räknas rader från slutet av resultatuppsättningen. En absolut hämtning av rad -1 innebär att hämta raduppsättningen som börjar med den sista raden i resultatuppsättningen.
Program som använder SQLFetchScroll endast för dess funktioner för blockmarkörer, till exempel rapporter, kommer sannolikt att passera genom resultatuppsättningen en enda gång, med bara alternativet för att hämta nästa raduppsättning. Skärmbaserade program kan däremot dra nytta av alla funktioner i SQLFetchScroll. Om programmet anger raduppsättningens storlek till antalet rader som visas på skärmen och binder skärmbuffertarna till resultatuppsättningen, kan det översätta rullningsliståtgärder direkt till anrop till SQLFetchScroll.
Rullningsliståtgärd | Rullningsalternativet SQLFetchScroll |
---|---|
Sida upp | SQL_FETCH_PRIOR |
Sidan nedåt | SQL_FETCH_NEXT |
Rad upp | SQL_FETCH_RELATIVE med FetchOffset lika med -1 |
Rad nedåt | SQL_FETCH_RELATIVE med FetchOffset lika med 1 |
Rulla ruta överst | SQL_FETCH_FIRST |
Rulla ruta till nederkant | SQL_FETCH_LAST |
Placering av slumpmässig rullningsruta | SQL_FETCH_ABSOLUTE |