DataTable.ImportRow不添加行

sig*_*gil 6 c# datatable

我正在尝试创建一个DataTable,然后添加几行.这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;


namespace thisNamespace
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable dt=new DataTable();
            dt.Columns.Add("XYZID");
            DataRow dr=dt.NewRow();
            dr["XYZID"]=123;
            dt.ImportRow(dr);
            dr["XYZID"] = 604303;
            dt.ImportRow(dr);

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我单步执行程序时,dr成功初始化并填充值,但之后ImportRow(dr),行数dt仍为0.我觉得我必须遗漏一些明显的东西.这里出了什么问题?

Kel*_*men 7

试试这段代码:

dt.Rows.Add(dr)

  • 但为什么?`ImportRow`听起来应该这样做. (6认同)
  • ImportRow 获取已属于另一个 DataTable 的 Rows 集合的 DataRow,并将其带入另一个 DataTable。 (2认同)

小智 7

如果该行是分离的(如刚创建时一样),则ImportRows会静默失败(也不例外)-要导入行,必须将其添加到表中。之后,您可以将其导入其他表。