如何向SqlParameter Collection添加新参数?
我想使用类似这样的东西:
using (DataSet ds = new DataSet()) { SqlParameter[] dbParams = new SqlParameter[] { new SqlParameter("@PromptID", promptID) }; if (scenarioID != 0) dbParams.Concat(new SqlParameter("@ScenarioID", scenarioID)); //OR if (scenarioID != 0) dbParams.Add(new SqlParameter("@ScenarioID", scenarioID)); } }
我已经搜索过添加IEnumarable集合,但它并没有解决我的问题。 我应该创建两个集合并连接它们吗? 我认为必须有一种简单的方法来添加项目。 有什么建议?
只需使用列表:
var parameters = new List { new SqlParameter("@PromptID", promptID) }; if (scenarioID != 0) { parameters.Add(new SqlParameter("@ScenarioID", scenarioID)); }
如果你真的需要一个数组,你总是可以使用:
var array = parameters.ToArray();
var parameters = new List { new SqlParameter("@PromptID", promptID), };
您应该使用List而不是数组。
List dbParams = new List ();
然后你就可以做到
dbParams.Add(new SqlParameter("@PromptID", promptID);
如果您知道最大项目数(SQLParameter类型的实例),那么以下方法是理想的。 此外,您可以使用List
方法,该方法由同行简要介绍。
var dbParams = new SqlParameter[2]; dbParams.SetValue(new SqlParameter("@PromptID", promptID),0); dbParams.SetValue(new SqlParameter("@ScenarioID", scenarioID), scenarioID != 0 ? 1 : 0);