分享方式:


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 釋放此記憶體。 在呼叫 prgParamPropertiesIMalloc::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::SetParameterPropertiesSetParameterInfo 尚未呼叫或呼叫 cParams 等於零,GetParameterInfo 會衍生參數資訊並傳回此參數。 如果至少有一個參數呼叫 ISSCommandWithParameters::SetParameterPropertiesSetParameterInfo,ISSCommandWithParameters::GetParameterProperties 只會針對呼叫 ISSCommandWithParameters::SetParameterProperties 的參數傳回屬性。 如果在 ISSCommandWithParameters::SetParameterProperties 之後呼叫 ISSCommandWithParameters::GetParameterPropertiesGetParameterInfo,後續呼叫 ISSCommandWithParameters::GetParameterProperties 會傳回已呼叫 ISSCommandWithParameters::SetParameterProperties 之參數的覆寫值。

SSPARAMPROPS 結構定義如下:

struct SSPARAMPROPS {
    DBORDINAL iOrdinal;
    ULONG cPropertySets;
    DBPROPSET *rgPropertySets;
};
member 描述
iOrdinal 所傳遞參數的序數。
cPropertySets rgPropertySets 中的 DBPROPSET 結構數目。
rgPropertySets 藉其傳回 DBPROPSET 結構陣列的記憶體指標。

另請參閱

ISSCommandWithParameters (OLE DB)