问题描述
我有一个定义的数据集,其中包含表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()时,它将创建我的数据集表行的实例。我该如何解决?我只想在DataSet表中填充一行。下面是我的数据集的屏幕截图
解决方法
您在ds
中有一个数据集实例,在dt
中有一个DataTable实例。该DataTable实例无论如何都不会链接到您的数据集。因此,数据表没有列。
执行dt=ds.Tables["Customer"];
来获取符合您键入的数据集中的模式的数据表实例。