【问题标题】:Difference between rows.add and importRowrows.add 和 importRow 之间的区别
【发布时间】:2011-02-28 09:29:26
【问题描述】:

在vb.net中向数据表添加一行时,rows.add和importRow有什么区别?

Dim dt As DataTable
Dim dr As DataRow

'Add row this way...
dt.rows.add(dr)

'or this way.
dt.importRow(dr)

【问题讨论】:

  • MSDN,我能想到的唯一区别就是DataTable中Row的DataRowState的值和dr.

标签: vb.net datatable


【解决方案1】:

两者都执行相同的功能,将行添加到数据表,但主要区别是

    DataTable dt1=new DataTable();
    DataRow dr1=dt1.NewRow();
    DataTable dt2=new DataTable();
    dt2.Rows.Add(dr1); // will give you error already dr1 belongs to another datatable in that                              //case you can do like this
    dt2.ImportRow(dr1); // safe
    dt1.Rows.Add(dr1); // safe as dr1 Row belongs to DataTable1 so no exception raise

希望能给你一个想法..

【讨论】:

  • 那么为什么不总是使用 ImportRow 呢? rows.add 有什么意义?
  • 如果我们想在表中创建一个新行,我们可以使用row.add。但是如果你想从另一个表中导入行,你可以使用importrow。所以导入行基本上用于使用另一行来自不同的表。
【解决方案2】:

建议的答案不正确。下面的 MSDN 文章显示 dt2.ImportRow(dr1) 不会导入 dr1。这是因为它处于分离状态。 dt2 也没有架构。

http://msdn.microsoft.com/en-us/library/system.data.datatable.importrow.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 2020-05-10
    • 2014-09-20
    • 2010-10-28
    • 2015-10-04
    • 2012-08-12
    • 2011-02-18
    相关资源
    最近更新 更多