【问题标题】:how to use IN clause in visual c# 2010 dataset?如何在 Visual c# 2010 数据集中使用 IN 子句?
【发布时间】:2012-10-31 14:56:11
【问题描述】:

我已经制作了一个数据集,需要使用 IN 子句,如下例所示

这是我的查询:

select field1,field2 from tablename where id **IN** (@ids)  

上述查询的id参数个数不固定,每次都变化

现在我想在数据集中使用它。

不知道怎么用

我需要在 Visual Studio 2010 数据集环境中使用 IN。

我想知道如何将@ids 替换为 1,2,3,4,...?

【问题讨论】:

    标签: c# .net visual-studio-2010 c#-4.0 dataset


    【解决方案1】:

    你可以使用LINQ to DataTable:

    var list = new[] { 1, 2, 3, 4, 5 };
    var result = dataTable.AsEnumerable()
                          .Where(row => list.Contains(row.Field<int>("Id"));
    

    【讨论】:

    • 这对我不好。我需要进行查询,我在数据库中有 1000 万条以上的记录,我不需要获取所有记录。
    • @AliAhmadi:所以您需要更新您的问题以获得更清晰的信息。
    • 我声明了一个拆分函数并将其作为字符串传递并解决了
    【解决方案2】:

    试试这个方法

         public DataSet GetDataSet(string ConnectionString, string SQL)
    {
        SqlConnection conn = new SqlConnection(ConnectionString);
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmd = conn.CreateCommand();
        cmd.CommandText = "YOU SQL QUERY WITH WHERHE";
        da.SelectCommand = cmd;
        DataSet ds = new DataSet();
    
        conn.Open();
        da.Fill(ds);
        conn.Close();
    
        return ds;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-06-08
      • 2013-10-03
      • 2014-12-01
      • 2016-11-13
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      相关资源
      最近更新 更多