gpt4 book ai didi

c# - 将数据从数组插入数据表

转载 作者:行者123 更新时间:2023-11-30 12:57:24 25 4
gpt4 key购买 nike

我正在加入数据表以创建一个新的数据表,

代码:

var row = from r0w1 in dt_vi.AsEnumerable()
join r0w2 in dt_w.AsEnumerable()
on r0w1.Field<int>("ID") equals r0w2.Field<int>("iD")
join r0w3 in dt_re.AsEnumerable()
on r0w1.Field<int?>("ID") equals r0w3.Field<int?>("id")
join r0w4 in dt_def.AsEnumerable()
on r0w1.Field<int?>("ID") equals r0w4.Field<int?>("id") into ps
from r0w4 in ps.DefaultIfEmpty()
select r0w1.ItemArray.Concat(r0w2.ItemArray.Concat(r0w3.ItemArray.Concat(r0w4 != null ? r0w4.ItemArray : new object[] { }))).ToArray();


foreach (object[] values in row)
dt.Rows.Add(values);

在上面的代码中,

foreach (object[] values in row)
dt.Rows.Add(values);

对于数十万行来说很慢。我想将 row 的数据放入 dt 数据表中。我试过了

dt=row.CopyToDataTable();

但它给出了错误。

如何在这里使用 CopyToDataTable() 函数来防止循环?

最佳答案

如果数据表绑定(bind)到任何内容,请关闭通知。

dt.BeginLoadData(); //  stops notifications on each addition
foreach (object[] values in row)
dt.Rows.Add(values);
dt.EndLoadData();

并删除 .ToArray(); 部分以防止再次循环每一行。

关于c# - 将数据从数组插入数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34353126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com