共用方式為


SQLBindCol

根據一般規則,請考慮使用 SQLBindCol 造成資料轉換的影響。 例如,繫結轉換為用戶端處理序,所以擷取繫結至字元資料行的浮點值時,將會造成驅動程式在提取資料列時,於本機執行浮點對字元的轉換。 Transact-SQL CONVERT 函式可用來在伺服器上放置資料轉換的成本。

SQL Server的實例可以在單一語句執行上傳回多個結果資料列集。 每個結果集都必須個別繫結。 如需多個結果集系結的詳細資訊,請參閱 SQLMoreResults

開發人員可以使用TargetTypeSQL_C_BINARY ,將資料行系結至SQL Server特定的 C 資料類型。 系結至SQL Server特定類型的資料行不可移植。 定義的SQL Server特定 ODBC C 資料類型符合 DB-Library 的類型定義,而DB-Library開發人員移植應用程式可能會想要利用這項功能。

報告資料截斷是SQL Server Native Client ODBC 驅動程式耗費大量成本的程式。 您可以確保所有繫結的資料緩衝區都夠寬而足以傳回資料,藉此來避免資料遭到截斷。 如果是字元資料,當使用字串結束的預設驅動程式行為時,寬度應該包括字串結束字元的空格。 例如,將SQL Server char (5) 資料行系結至五個字元的陣列,會導致擷取的每個值截斷。 將相同的資料行繫結至六個字元的陣列可藉由提供字元元素來儲存 Null 結束字元,以避免截斷的情況發生。 SQLGetData 可用來有效率地擷取長字元和二進位資料,而不需截斷。

針對大數值資料類型,如果使用者提供的緩衝區不夠大,無法保存資料行的整個值, SQL_SUCCESS_WITH_INFO 則會傳回 「string data;發出右截斷「警告。 StrLen_or_IndPtr 引數將會包含儲存在緩衝區內的字元/位元組數目。

SQLBindCol 對於增強型日期和時間功能的支援

日期/時間類型的結果資料行值會依 從 SQL 轉換為 C中所述進行轉換。請注意,若要擷) 取 time 和 datetimeoffset 資料行作為其對應結構 (SQL_SS_TIME2_STRUCTSQL_SS_TIMESTAMPOFFSET_STRUCTTargetType 必須指定為 SQL_C_DEFAULTSQL_C_BINARY

如需詳細資訊,請參閱 ODBC) (日期和時間改善

SQLBindCol 對於大型 CLR UDT 的支援

SQLBindCol 支援大型 CLR 使用者定義類型, (UDT) 。 如需詳細資訊,請參閱 ODBC) (大型 CLR User-Defined 類型

另請參閱

SQLBindCol 函數
ODBC API 實作詳細資料