【问题标题】:system.argumentexception column does not belong to tablesystem.argumentexception 列不属于表
【发布时间】:2021-01-10 10:44:11
【问题描述】:

我有一个已定义的数据集,其中包含表 Customer。我正在尝试向此数据集添加一行,但出现以下错误是我的代码

DataSet ds = new DataSet1();
DataTable dt = new DataTable("Customer");

using (StreamReader reader = new StreamReader(fileStream))
{
   while(reader.Peek() >= 0)
   {
      string row = reader.ReadLine();
      string[] content = row.Split('|');
      DataRow dr = dt.NewRow();
      dr["mother_name"] = content[0];  // I'm getting an error here.
      dr["beneficial_name"] = content[1];
      dr["industry_code"] = content[2];
      dt.Rows.Add(dr);
   }

}

filestream.Close();
ds.Tables.Add(dt);
cryRpt.SetDataSource(ds);

所以我在dr["emp_lastname"] = content[0]; 行中遇到异常错误,密钥存在于我的数据集中的表中。所以我假设当我执行 dt.NewRow() 时,它将创建我的数据集表行的一个实例。我该如何解决这个问题?我只想在我的数据集表中填充一行。下面是我的数据集的截图

【问题讨论】:

  • 这不是向数据库添加数据的方式。见stackoverflow.com/questions/14001040/…
  • @VDWWD 我从未提到我正在尝试向数据库添加记录。我唯一的目标是在不使用数据库的情况下将其添加到数据集

标签: c# asp.net crystal-reports dataset


【解决方案1】:

ds 987654321 @ 987654322中有一个dataSet实例。 DataTable实例无论如何都没有链接到数据集。 DataTable因此没有列。

改为使用dt=ds.Tables["Customer"]; 来获取符合类型化数据集中架构的 Datatable 实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 2017-12-22
    • 2014-07-03
    相关资源
    最近更新 更多