[英]How to create array DbParameter[]
手冊說 ExecuteScalar 方法應該像這樣使用:
public T ExecuteScalar<T>(
string commandText,
CommandType commandType,
params DbParameter[] parameters
)
但是如何創建該參數數組? 我需要提供我的存儲過程 2 參數。
雖然您可以只傳遞可變數量的參數而不創建數組,但如果您動態創建可變數量的參數,那么數組是您的朋友。
var parameters = new[]{ new SqlParameter(){ ParameterName="foo", Value="hello" }, new SqlParameter(){ ParameterName="bar", Value="World" } }; x.ExecuteScalar<int>(commandText, commandType, parameters);
parameters
參數具有params
關鍵字。 這意味着您不必顯式創建數組,但可以將可變數量的 arguments 傳遞給方法:
x.ExecuteScalar(commandText, commandType, parameter1, parameter2);
但是,如果需要,可以顯式創建數組並將其傳遞給方法,如下所示:
DbParameter[] parameters = new DbParameter[] { parameter1, parameter2 };
x.ExecuteScalar(commandText, commandType, parameters);
DbParameter 是一個抽象的 class - 但您可以實例化派生類型。
如果您使用的是 Sql 服務器,它是 SqlParameter:
DbParameter[] parameters = new DbParameter[2];
parameters[0] = new SqlParameter("param1", 123456);
parameters[1] = new SqlParameter("param2", "abcdef");
params 關鍵字意味着您可以指定不同數量的參數(從 1 到 [幾乎] 無窮大)。
您可以像這樣調用該方法: ExecuteScalar<SomeType>("Command,". CommandType,SomeCommandType, dbParameter1; dbParameter2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.