如何向已经存在的数据表中添加数据表
本文关键字:数据表 添加 存在 | 更新日期: 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);