【问题标题】:DataTable.ImportRow is not adding rowsDataTable.ImportRow 没有添加行
【发布时间】:2013-04-05 02:34:53
【问题描述】:

我正在尝试制作一个 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);

        }
    }
}

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

【问题讨论】:

    标签: c# datatable


    【解决方案1】:

    如果行被分离(就像它第一次创建时一样) ImportRows 静默失败(没有例外) - 为了能够导入行,您必须将其添加到表中。之后您可以将其导入到其他表中。

    【讨论】:

      【解决方案2】:

      试试这个代码:

      dt.Rows.Add(dr)

      【讨论】:

      • 但是为什么呢? ImportRow 听起来应该这样做。
      • ImportRow 获取一个已经属于另一个 DataTable 的 Rows 集合的 DataRow,并将其带入另一个 DataTable。
      • 如果该行属于另一个表则不起作用
      【解决方案3】:

      它可以帮助你

      DataTable table = new DataTable();
      table.Columns.Add("Dosage", typeof(int));
          table.Columns.Add("Drug", typeof(string));
          table.Columns.Add("Patient", typeof(string));
          table.Columns.Add("Date", typeof(DateTime));
      
          //
          // Here we add five DataRows.
          //
          table.Rows.Add(25, "Indocin", "David", DateTime.Now);
          table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
          table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
          table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
          table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
      

      【讨论】:

        【解决方案4】:

        您首先需要添加行:

         dt.Rows.Add(dr);
        

        那么你必须调用下面的方法来提交它:

         dt.AcceptChanges();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-05-29
          • 2020-02-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-01-16
          相关资源
          最近更新 更多