【问题标题】:how to add a new parameter to SqlParameter[ ] Collection?如何向 SqlParameter[ ] 集合添加新参数?
【发布时间】:2013-05-23 12:55:50
【问题描述】:

我想使用类似的东西:

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 集合,但它并没有解决我的问题。我应该创建两个集合并将它们连接起来吗?我认为必须有一种简单的方法来添加项目。有什么建议吗?

【问题讨论】:

  • 顺便说一句,你还不清楚为什么会有DataSet...
  • 使用 List dbParams 然后你可以做 dbParams.Add(new SqlParams("@PromptID", promptID)
  • @EhsanUllah - 通常建议您将问题的答案放在答案中。评论不是永久性的,可能会被删除,因此它们通常保留用于有关问题或无关信息的问题。

标签: c# collections ienumerable


【解决方案1】:

只需使用列表即可:

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

    【讨论】:

      【解决方案3】:

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

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

      然后你就可以了

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

      【讨论】:

        【解决方案4】:

        如果您知道最大项目数(SQLParameter 类型的实例),那么以下方法是理想的。也可以采用List&lt;SqlParameter&gt;的方式,由同行介绍。

         var dbParams = new SqlParameter[2];
         dbParams.SetValue(new SqlParameter("@PromptID", promptID),0);
         dbParams.SetValue(new SqlParameter("@ScenarioID", scenarioID), scenarioID != 0 ? 1 : 0);
        

        【讨论】:

          【解决方案5】:

          其他建议:

          SqlParameter[] sqlPar = new SqlParameter[1];
          sqlPar[0] = new SqlParameter("@System", "Teste");
          

          【讨论】:

            猜你喜欢
            • 2011-07-20
            • 2012-02-27
            • 2022-06-10
            • 2012-11-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-02-25
            相关资源
            最近更新 更多