You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取拆分DataTable得到的所有表并遍历每张表的每一行?

拆分DataTable并遍历子表所有行的正确实现

问题说明

需要实现获取拆分DataTable后生成的所有子表,并遍历每个子表中的每一行,原代码的遍历部分存在错误,修正后即可实现需求。

修正后的完整代码

using (DataTable dt = new DataTable())
using (SqlDataAdapter adapter = new SqlDataAdapter(comm))
{
    adapter.Fill(dt);

    // 按每9999行拆分原DataTable,生成子表数组
    DataTable[] dt1 = dt.AsEnumerable()
        .Select((row, index) => new { row, index })
        .GroupBy(x => x.index / 9999)  // 整数除法,自动截断小数部分,实现分组
        .Select(g => g.Select(x => x.row).CopyToDataTable())
        .ToArray();

    // 遍历每个子表
    foreach (DataTable subTable in dt1)
    {
        // 遍历当前子表的每一行
        foreach (DataRow row in subTable.Rows)
        {
            // 此处可添加对row的处理逻辑
            // 示例:输出某列值
            // Console.WriteLine(row["ColumnName"].ToString());
        }
    }
}

关键修正点

  • 将错误的Foreach改为C#关键字的小写形式foreach
  • 将遍历对象类型DataSet改为正确的DataTable(因为dt1是DataTable[]类型)
  • 补充了遍历子表中每一行的内层循环,实现完整需求

内容的提问来源于stack exchange,提问作者NiclasNilsson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 00:28:21