擷取結果 (進階)

應用程式可在呼叫 SQLBulkOperationsSQLFetchSQLFetchScrollSQLSetPos 時,指定在綁定的資料緩衝區位址及對應的長度/指示緩衝區位址上加入偏移量。 這些加法的結果決定了這些運算所使用的位址。

綁定偏移量允許應用程式在不呼叫先前綁定欄位的 SQLBindCol 的情況下更改綁定。 呼叫 SQLBindCol 以重新綁定資料會改變緩衝區位址及長度/指示指標。 而帶有偏移量的重新綁定,則只是為現有綁定的資料緩衝區位址和長度/指示緩衝區位址加上一個偏移量。 當使用偏移時,綁定會成為應用程式緩衝區佈局的「範本」,應用程式可以透過改變偏移量將此「範本」移至記憶體的不同區域。 新的偏移量可隨時指定,且總是加到原本綁定的值上。

為了指定綁定偏移量,應用程式會將 SQL_ATTR_ROW_BIND_OFFSET_PTR 陳述句屬性設定為 SQLINTEGER 緩衝區的位址。 在應用程式呼叫使用這些綁定的函式(如 SQLBulkOperationsSQLFetchSQLFetchScrollSQLSetPos)之前,只要資料緩衝區位址和長度/指示緩衝區位址不為 0,並且綁定欄位存在於結果集中,就會在此緩衝區中放置一個位元組的偏移量。 位址與偏移量的總和必須是有效的位址。 (這表示只要偏移量和相加地址有效,偏移量與相加地址的總和都可能無效。)SQL_ATTR_ROW_BIND_OFFSET_PTR 陳述式屬性是一個指標,讓偏移值可以套用到多組綁定資料,這些資料都可以透過改變一個偏移值來改變。 應用程式必須確保指標在游標關閉前仍然有效。

備註

ODBC 2.x 驅動程式不支援綁定偏移量。

此章節包含下列主題。