【问题标题】:Dynamically create multiple DataTables based on number of records returned from SQL query in C#?根据C#中SQL查询返回的记录数动态创建多个DataTables?
【发布时间】:2011-06-15 12:24:50
【问题描述】:

我正在查询数据库以获取动态数量的记录,假设我返回了 11000 条记录。

目前我将每条记录插入到一​​个 DataTable 中。我遍历表中的每条记录并查询 Web 服务以获取与此记录相关的更多数据(我保存在 Response 对象中)。

在我没有超过 1000 条记录之前它工作正常,但显然 Web 服务有一个限制,我一次只能查询 1000 条记录。

我想知道如果我有 11000 条记录,我如何动态创建 11 个数据表,如果我有 11001 条记录,我如何动态创建 12 个数据表等等。然后对于每个数据表,我查询 Web 服务并像往常一样将响应绑定到 Response 对象。这是可能的还是有更好的方法?

提前致谢。

【问题讨论】:

    标签: c#


    【解决方案1】:

    我还没有测试过,但这样的东西应该可以工作。

    DataTable dt = LoadDataTable()
    List<DataTable> splitTables = new List<DataTable>();
    
    for (int i = 0; i < dt.Rows.Count; i+=1000 )
    {
        splitTables.Add(dt.AsEnumerable().Skip(i).Take(1000).CopyToDataTable());
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-01
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-31
      相关资源
      最近更新 更多