如何向SqlParameter [] Collection添加新参数?

问题描述 投票:2回答:5

我想使用类似这样的东西:

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));
    }
}

我已经搜索了添加IEnumerable集合,但它没有解决我的问题。我应该创建两个集合并连接它们吗?我认为必须有一种简单的方法来添加项目。有什么建议?

c# collections ienumerable
5个回答
11
投票

只需使用列表:

var parameters = new List<SqlParameter>
{
    new SqlParameter("@PromptID", promptID)
};
if (scenarioID != 0)
{
    parameters.Add(new SqlParameter("@ScenarioID", scenarioID));
}

如果你真的需要一个数组,你总是可以使用:

var array = parameters.ToArray();

2
投票
var parameters = new List<SqlParameter>
{
    new SqlParameter("@PromptID", promptID),       
};

1
投票

您应该使用List而不是数组。

   List<SqlParameter> dbParams = new List<SqlParameter>(); 

然后你就可以做到

   dbParams.Add(new SqlParameter("@PromptID", promptID);

0
投票

如果您知道最大项目数(qazxsw poi类型的实例),那么以下方法是理想的。另外,你可以采用qazxsw poi方法,由同行简要介绍。

SQLParameter

0
投票

其他建议:

List<SqlParameter>
© www.soinside.com 2019 - 2024. All rights reserved.