預設 C 資料類型

如果應用程式在 SQLBindCol SQLGetData SQLBindParameter 指定SQL_C_DEFAULT,驅動程式會假設輸出或輸入緩衝區的 C 資料類型對應至緩衝區所系結之資料行或參數的 SQL 資料類型。

重要

互通的應用程式不應該使用SQL_C_DEFAULT。 相反地,它們應該一律指定所使用的緩衝區 C 類型。 這是因為驅動程式無法一律正確判斷預設 C 類型,原因如下:

  • 如果 DBMS 升級資料行或參數的 SQL 資料類型,驅動程式就無法判斷資料行或參數的原始 SQL 資料類型。 因此,它無法判斷對應的預設 C 資料類型。

  • 如果驅動程式無法判斷特定資料行或參數是否已簽署,就像 DBMS 處理這個值時的情況一樣,驅動程式無法判斷對應的預設 C 資料類型是否應該簽署或移除簽署。

    因為SQL_C_DEFAULT只是為了方便程式設計,所以當應用程式指定實際的 C 資料類型時,不會遺失任何功能。

下表顯示每個 SQL 資料類型的預設 C 資料類型,會包含在 本附錄稍後的將資料從 SQL 轉換成 C 資料類型 中。