共用方式為


描述參數

SQLBindParameter 具備說明參數、其 SQL 類型、精確度和級別的引數。 驅動程式會用這項資料或中繼資料,將參數值轉換為資料來源需要的型別。 乍看之下,驅動程式似乎比應用程式更能掌握參數中繼資料;畢竟驅動程式能輕易探索中繼資料內的結果集資料行。 然而事實並非如此。 首先,大部分資料來源並無法讓驅動程式探索參數中繼資料。 其次,多數應用程式早已掌握中繼資料。

如果應用程式的 SQL 陳述式採用硬式編碼,則應用程式寫入器早已得知各項參數的型別。 假使 SQL 陳述式是應用程式在執行階段建構的,則應用程式可在組建陳述式時決定中繼資料。 例如,應用程式建構子句時

WHERE OrderID = ?  

其會針對 OrderID 資料行呼叫 SQLColumns

應用程式無法輕易判斷參數中繼資料的唯一情況,是在使用者輸入參數化陳述式的時候。 在此情況下,應用程式會呼叫 SQLPrepare 來準備陳述式、SQLNumParams 來判斷參數的數量,以及 SQLDescribeParam 來說明每一項參數。 不過,如先前所述,多數資料來源並無法使驅動程式探索參數中繼資料,因此 SQLDescribeParam 無法受到廣泛支援。