【问题标题】:Table in dataset has been cleared too when clear a different table清除不同表时,数据集中的表也已清除
【发布时间】:2021-05-19 03:53:34
【问题描述】:

我将数据集中的表数据分配给了一个新表。当我清除新表(dt)时,数据集中的表(ds.Tables [0])也被清除了,为什么?以及如何避免它也被清除?

DataTable dt = new DataTable();
DataSet ds = new DataSet();
\\some code to assign data to ds

点击按钮后会执行下面的代码,第一次点击效果很好,第二次点击导致ds中的table[0]为空

dt.Clear()
dt = ds.Tables[0];

【问题讨论】:

  • dt 将具有与其他 ds/function 不同的数据。所以我每次在分配数据之前都会清除它。我可以将数据重新分配给 ds,但有没有办法保留它,因为它需要一些时间。

标签: c# datatable dataset


【解决方案1】:

变化:

dt = ds.Tables[0];

到:

dt = ds.Tables[0].Copy();

这样,dt 将保存 dt.Tables[0] 的副本,而不是对同一底层 DataTable 的引用

【讨论】:

    猜你喜欢
    • 2015-09-08
    • 2021-08-24
    • 2013-12-14
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 2023-01-14
    • 1970-01-01
    相关资源
    最近更新 更多