共用方式為


SQLBindParameter

SQLBindParameter當用來為SQL Server Native Client ODBC 驅動程式提供資料時,可能會消除資料轉換的負擔,進而大幅提升應用程式的用戶端和伺服器元件效能。 其他優點包括插入或更新近似的數值資料類型時,降低有效位數的損失。

注意

charwchar 類型資料插入 image 資料行時,會使用傳入之資料的大小,而非轉換為二進位格式後的資料大小。

如果SQL Server Native Client ODBC 驅動程式在參數陣列的單一陣列元素上遇到錯誤,則驅動程式會繼續執行其餘陣列元素的 語句。 如果應用程式已經繫結陳述式的參數狀態元素陣列,可以從陣列判斷產生錯誤的參數資料列。

使用 SQL Server Native Client ODBC 驅動程式時,請在系結輸入參數時指定SQL_PARAM_INPUT。 繫結使用 OUTPUT 關鍵字定義的預存程序參數時,只會指定 SQL_PARAM_OUTPUT 或 SQL_PARAM_INPUT_OUTPUT。

如果系結參數陣列的陣列元素在語句執行中發生錯誤,則SQLRowCount與 SQL Server Native Client ODBC 驅動程式不可靠。 ODBC 陳述式屬性 SQL_ATTR_PARAMS_PROCESSED_PTR 會報告錯誤發生前處理的資料列數目。 接著,如果需要,此應用程式可以周遊其參數狀態陣列以探索成功執行的陳述式數目。

SQL 字元類型的繫結參數

如果傳入的 SQL 資料類型是字元類型, ColumnSize 是字元大小, (不是位元組) 。 如果以位元組為單位的資料字串長度大於 8000, 則 ColumnSize 應該設定 SQL_SS_LENGTH_UNLIMITED 為 ,表示 SQL 類型的大小沒有限制。

例如,如果 SQL 資料類型為 SQL_WVARCHARColumnSize 不應大於 4000。 如果實際資料長度大於 4000,則 ColumnSize 應該設定為 SQL_SS_LENGTH_UNLIMITEDnvarchar(max) 以便驅動程式使用。

SQLBindParameter 和資料表值參數

如同其他參數類型,資料表值參數會系結 SQLBindParameter。

繫結資料表值參數之後,也會一併繫結其資料行。 若要系結資料行,您可以呼叫 SQLSetStmtAttr ,將SQL_SOPT_SS_PARAM_FOCUS設定為數據表值參數的序數。 然後,針對資料表值參數中的每個資料行呼叫 SQLBindParameter。 若要傳回到最上層參數繫結,將 SQL_SOPT_SS_PARAM_FOCUS 設定為 0。

如需將參數對應至資料表值參數描述元欄位的相關資訊,請參閱 系結和資料傳輸Table-Valued參數和資料行值

如需資料表值參數的詳細資訊,請參閱 資料表值參數 (ODBC)

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

日期/時間類型的參數值會轉換,如 從 C 轉換為 SQL中所述。 請注意,和 類型的 timedatetimeoffset 參數必須指定為 SQL_C_DEFAULTValueType,或者 SQL_C_BINARY 是否使用其對應的結構 (SQL_SS_TIME2_STRUCTSQL_SS_TIMESTAMPOFFSET_STRUCT) 。

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

大型 CLR UDT 的 SQLBindParameter 支援

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

另請參閱

ODBC API 實作詳細資料
SQLBindParameter 函數