描述參數
SQLBindParameter 具備說明參數、其 SQL 類型、精確度和級別的引數。 驅動程式會用這項資料或中繼資料,將參數值轉換為資料來源需要的型別。 乍看之下,驅動程式似乎比應用程式更能掌握參數中繼資料;畢竟驅動程式能輕易探索中繼資料內的結果集資料行。 然而事實並非如此。 首先,大部分資料來源並無法讓驅動程式探索參數中繼資料。 其次,多數應用程式早已掌握中繼資料。
如果應用程式中硬式編碼 SQL 語句,應用程式寫入器就已經知道每個參數的類型。 如果 SQL 語句是由應用程式在運行時間建構,應用程式可以在建置 語句時判斷元數據。 例如,應用程式建構子句時
WHERE OrderID = ?
其會針對 OrderID 資料行呼叫 SQLColumns。
應用程式無法輕易判斷參數中繼資料的唯一情況,是在使用者輸入參數化陳述式的時候。 在此情況下,應用程式會呼叫 SQLPrepare 來準備陳述式、SQLNumParams 來判斷參數的數量,以及 SQLDescribeParam 來說明每一項參數。 不過,如先前所述,多數資料來源並無法使驅動程式探索參數中繼資料,因此 SQLDescribeParam 無法受到廣泛支援。