rows.add和importRow之间的区别

时间:2011-02-28 09:29:27

标签: vb.net datatable

在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)

2 个答案:

答案 0 :(得分:11)

两者都将相同的功能添加到数据表中,但主要区别在于

    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

希望能给你一个想法..

答案 1 :(得分:2)

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

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