SQL Server Native Client 中的 ISSCommandWithParameters::GetParameterProperties (OLE DB)
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Platform System (PDW)
重要
SQL Server Native Client (通常縮寫為 SNAC) 已從 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除。 不建議使用 SQL Server Native Client OLE DB 提供者 (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 進行新的開發。 請切換至新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 以繼續使用。
傳回 SSPARAMPROPS 屬性集結構的陣列,而且每個 UDT 或 XML 參數使用一個 SSPARAMPROPS 屬性集。
語法
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
引數
pcParams[out][in]
記憶體的指標,其中包含在 prgParamProperties 中傳回的 SSPARAMPROPS 結構數目。
prgParamProperties[out]
藉其傳回 SSPARAMPROPS 結構陣列的記憶體指標。 提供者會配置結構的記憶體,並將位址傳回給這個記憶體;取用者會在不再需要 結構時,使用 IMalloc::Free 釋放此記憶體。 在呼叫 prgParamProperties 的 IMalloc::Free 之前,取用者也必須針對每個 DBPROP 結構的 vValue 屬性呼叫 VariantClear,以避免在 Variant 包含參考型別(例如 BSTR)的情況下發生記憶體流失。如果輸出上的pcParams為零,或發生DB_E_ERRORSOCCURRED以外的錯誤,提供者不會配置任何記憶體,並確保prgParamProperties是輸出上的Null指標。
傳回碼值
GetParameterProperties 方法會傳回與核心 OLE DB ICommandProperties::GetProperties 方法相同的錯誤碼,但無法引發DB_S_ERRORSOCCURRED和DB_E_ERRORSOCCURED。
備註
ISSCommandWithParameters::GetParameterProperties 與 GetParameterInfo 一致。 如果 ISSCommandWithParameters::SetParameterProperties 或 SetParameterInfo 尚未呼叫或呼叫 cParams 等於零,GetParameterInfo 會衍生參數資訊並傳回此參數。 如果至少有一個參數呼叫 ISSCommandWithParameters::SetParameterProperties 或 SetParameterInfo,ISSCommandWithParameters::GetParameterProperties 只會針對呼叫 ISSCommandWithParameters::SetParameterProperties 的參數傳回屬性。 如果在 ISSCommandWithParameters::SetParameterProperties 之後呼叫 ISSCommandWithParameters::GetParameterProperties 或 GetParameterInfo,後續呼叫 ISSCommandWithParameters::GetParameterProperties 會傳回已呼叫 ISSCommandWithParameters::SetParameterProperties 之參數的覆寫值。
SSPARAMPROPS 結構定義如下:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
member | 描述 |
---|---|
iOrdinal | 所傳遞參數的序數。 |
cPropertySets | rgPropertySets 中的 DBPROPSET 結構數目。 |
rgPropertySets | 藉其傳回 DBPROPSET 結構陣列的記憶體指標。 |