捲動與提取資料列
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Platform System (PDW)
若要使用可捲動的數據指標,ODBC 應用程式必須:
使用 SQLSetStmtAttr 設定數據指標功能。
使用 SQLExecute 或 SQLExecDirect 開啟數據指標。
使用 SQLFetch 或 SQLFetchScroll 捲動和擷取數據列。
SQLFetch 和 SQLFetchSroll 都可以一次擷取數據列區塊。 傳回的數據列數目是使用 SQLSetStmtAttr 來設定SQL_ATTR_ROW_ARRAY_SIZE參數所指定。
ODBC 應用程式可以使用 SQLFetch 透過向前資料指標進行擷取 。
SQLFetchScroll 可用來捲動游標。 SQLFetchScroll 除了相對擷取之外,還支援擷取下一個、先前、第一個和最後一個數據列集(從目前數據列集開頭擷取數據列集 n 個數據列),以及絕對擷取 (從第 n 列開始擷取數據列集)。 如果絕對擷取的 n 為負數,資料列會從結果集的結尾開始計數。 數據列 -1 的絕對擷取表示擷取以結果集中最後一個數據列開頭的數據列集。
若應用程式僅使用 SQLFetchScroll 的區塊游標功能 (例如報表),則可能會僅使用選項來擷取下個資料列集,一次傳遞結果集。 另一方面,螢幕式應用程式可利用 SQLFetchScroll 的所有功能。 如果應用程式將資料列集大小設為在螢幕上顯示的資料列數目,並繫結螢幕緩衝區至結果集,則可直接轉譯捲軸作業來呼叫 SQLFetchScroll。
捲軸作業 | SQLFetchScroll 捲動選項 |
---|---|
向上捲動一頁 | SQL_FETCH_PRIOR |
向下捲動一頁 | SQL_FETCH_NEXT |
向上捲動一行 | FetchOffset 等於 -1 的 SQL_FETCH_RELATIVE |
向下捲動一行 | FetchOffset 等於 1 的 SQL_FETCH_RELATIVE |
將方塊捲動到頂端 | SQL_FETCH_FIRST |
向下捲動方塊 | SQL_FETCH_LAST |
隨機捲動方塊位置 | SQL_FETCH_ABSOLUTE |