使用資料列集系結 (ODBC)
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
若要使用數據行型系結
針對每個系結數據行,請執行下列動作:
配置 R (或更多) 資料行緩衝區數位儲存資料值,其中 R 是資料列集中的數據列數目。
您可以選擇性地設定 R (或更多) 資料行緩衝區陣列來儲存資料長度。
呼叫 SQLBindCol ,將數據行的數據值和數據長度陣列集資料行。
呼叫 SQLSetStmtAttr 以設定下列屬性:
將SQL_ATTR_ROW_ARRAY_SIZE設定為數據列集 (R) 中的數據列數目。
將 [SQL_ATTR_ROW_BIND_TYPE] 設定為 [SQL_BIND_BY_COLUMN]。
將 SQL_ATTR_ROWS FETCHED_PTR 屬性設定為指向 SQLUINTEGER 變數,以保存擷取的數據列數目。
將SQL_ATTR_ROW_STATUS_PTR設定為指向 SQLUSSMALLINT 變數的陣列[R],以保存資料列狀態指標。
執行語句。
每個對 SQLFetch 或 SQLFetchScroll 的呼叫都會擷取 R 數據列,並將數據傳輸到系結的數據行。
若要使用數據列系結
配置結構的陣列[R],其中 R 是數據列集中的數據列數目。 結構針對每個數據行都有一個元素,而每個元素都有兩個部分:
第一個部分是適當數據類型的變數,用來保存數據行數據。
第二個部分是用來保存數據行狀態指標的 SQLINTEGER 變數。
呼叫 SQLSetStmtAttr 以設定下列屬性:
將SQL_ATTR_ROW_ARRAY_SIZE設定為數據列集 (R) 中的數據列數目。
將SQL_ATTR_ROW_BIND_TYPE設定為步驟 1 中所配置之結構的大小。
將 SQL_ATTR_ROWS_FETCHED_PTR 屬性設定為指向 SQLUINTEGER 變數,以保存擷取的數據列數目。
將SQL_ATTR_PARAMS_STATUS_PTR設定為指向 SQLUSSMALLINT 變數的陣列[R],以保存數據列狀態指標。
針對結果集中的每一個數據行,呼叫 SQLBindCol ,將數據值和數據長度指標指向在步驟 1 中配置之結構陣列的第一個元素中,數據行的數據值和數據長度指標。
執行語句。
每個對 SQLFetch 或 SQLFetchScroll 的呼叫都會擷取 R 數據列,並將數據傳輸到系結的數據行。