如何向已经存在的数据表中添加数据表

本文关键字:数据表 添加 存在 | 更新日期: 2023-09-27 18:07:02

我有一个已经填充的数据表。现在我想添加一些行到数据表,但有些行可能已经存在于数据表中。我知道这没有必要,但这是必须的。

我尝试了几件事,得到"行已经存在于这个表:&我也尝试过importRow,但我猜它默认情况下避免了重复。

是否有任何方法可以做到这一点。如果数据表有7行,我想再添加3行,是否已经存在。我的目标是发送10行给调用函数。

或者有其他方法吗?

使用rowsToAdd.CopyToDataTable(dsCount.Tables[2], LoadOption.PreserveChanges);工作,但我不确定这是正确的方式。

如何向已经存在的数据表中添加数据表

您可以使用下面的代码在DataTable中添加新行

DataRow newRow = dataTable.NewRow();
dataTable.Rows.Add(newRow);

要检查是否有重复,请尝试

if (table.Rows.Contain(PriKeyTypeValue)) /*See if a Primary Key Value is in 
the table already */
    continue;
else
    table.Row.Add(value1, value2, value3);

如果你希望能够插入重复的行,但不希望有一个异常抛出设置你的主键为唯一的自增int,那么你可以插入尽可能多的重复,而不必检查表是否包含该值。只要确保有副本就足够了。设置主键的例子很多,只需要搜索它(msdn至少有一个)。下面是一个例子:

DataTable table = new DataTable();
table.Columns.Add("Column", typeof(int));
DataColumn column = table.Columns["Column"];
column.Unique = true;
column.AutoIncrement = true;
column.AutoIncrementStep = 1; //change these to whatever works for you
column.AutoIncrementSeed = 1;
table.PrimaryKey = new DataColumn[] { column };

使用NewRow()函数创建新行。

var dataTable = new DataTable();
var dataRow = dataTable.NewRow();

然后将新行添加到数据表

dataTable.Rows.Add(dataRow)

我相信您可以使用DataTable的NewRow()函数,如果您只是简单地将一行添加到表中。

DataTable table = new DataTable();    
DataRow row = table.NewRow();
table.Rows.Add(row);

这还不够吗?

最直接的方法。在花了几个小时尝试了其他方法之后。

DataRow dr = ds.Tables[0].NewRow();
dr["ColumnName1"] = "columnvalue"; //string
dr["ColumnName2"] = 123 //int
ds.Tables[0].Rows.Add(dr);