如何避免错误“;ColumnName已经属于数据表“;

本文关键字:属于 数据表 ColumnName 何避免 错误 | 更新日期: 2023-09-27 18:25:41

Hai在c#中写下面的代码,它总是出错,因为列已经属于这个数据表。我不知道如何避免错误。下面的代码是我使用的。

private void Send_Click(object sender, RoutedEventArgs e)
{
 System.Data.DataRowView selectedFile = (System.Data.DataRowView)dataGrid1.SelectedItem;
 string studid = Convert.ToString(selectedFile.Row.ItemArray[3]);
 DataRow row = tabl.NewRow();
 tabl.Columns.Add("StudyUID", typeof(string));
 tabl.Columns.Add("Patient ID");
 tabl.Columns.Add("Patient Name");
 row["StudyUID"] = selectedFile.Row.ItemArray[3];
 row["Patient ID"] = selectedFile.Row.ItemArray[1];
 row["Patient Name"] = selectedFile.Row.ItemArray[2];
 sendstudy(this.SUID, row);
}

我需要如何避免错误"列已经属于这个数据表"

提前感谢

如何避免错误“;ColumnName已经属于数据表“;

您不需要为每一新行添加列——一旦定义了列,它们就会包含在每一新行中。只需删除这些行:

 tabl.Columns.Add("StudyUID", typeof(string));
 tabl.Columns.Add("Patient ID");
 tabl.Columns.Add("Patient Name");

此错误意味着您没有向数据表声明新行,而是希望将该行添加到数据表中。每次,在向数据表添加行之前,插入代码:DataRow row=table。NewRow();还有一件事,您必须只声明一次表列(在向其中添加任何行之前)。