共用方式為


資料行資料

重要

Windows 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 Microsoft 建議使用驅動程式的資料指標功能。

資料指標程式庫會在快取中為使用 SQLBindCol 系結至結果集的每個資料緩衝區建立緩衝區。 它會使用這些緩衝區中的值,在模擬定點更新或刪除語句時建構 WHERE 子句。 它會在從資料來源擷取資料以及執行定位的 update 語句時,從資料列集緩衝區更新這些緩衝區。

當資料指標程式庫從資料列集緩衝區更新快取時,它會根據 SQLBindCol 中指定的 C 資料類型來傳輸資料。 例如,如果資料列集緩衝區的 C 資料類型SQL_C_SLONG,資料指標程式庫會傳輸四個位元組的資料;如果SQL_C_CHAR且 BufferLength 為 10,則資料指標程式庫會傳輸 10 個位元組的資料。 資料指標程式庫不會在傳輸的資料上執行任何類型檢查或轉換。

注意

如果對應資料列集緩衝區中的 * StrLen_or_IndPtr SQL_DATA_AT_EXEC或SQL_LEN_DATA_AT_EXEC宏的結果,資料指標程式庫就不會更新其資料行的快取。

當它更新資料行時,資料來源空白填補固定長度字元資料,並視需要將固定長度的二進位資料零位填補。 例如,資料來源會將 「Smith」 儲存在 CHAR(10) 資料行中的 「Smith」。 資料指標程式庫在執行定位的 update 語句之後,不會在資料列集緩衝區中空白或零填補資料複製到其快取。 因此,如果應用程式要求資料指標程式庫快取中的值是空白填補或零填補,則在執行定位的 update 語句之前,它必須空白填補或零填補資料列集緩衝區中的值。