在表中插入DataRow

本文关键字:DataRow 插入 | 更新日期: 2023-09-27 18:26:08

我有一个函数,它返回一个类型化的DataRow对象,现在我将把这个DataRow插入到给定的表中。据我所知,我可以通过两种方式使用TableAdapterTableAdapter.UpdateTableAdapter.Insert

这两种方法使用起来似乎都很简单,但第一种方法甚至可以从表中删除行(本质上,我的DataSet将在我的DB表上"序列化"),由于该表实际上是应用程序的关键部分,我会避免任何数据删除的机会,所以我更喜欢Insert方法。

问题似乎是Insert方法不接受DataRow对象作为其参数(与Update不同),所以我需要手动插入每个参数。唉,我至少有80个参数,所以这是一个非常头疼的操作。我现在能做什么?

在表中插入DataRow

update方法允许您在tableAdapter中插入、更新或删除更改。MSDN:'当应用程序使用数据集存储数据时,请使用TableAdapter.Update方法。Update方法将所有更改(更新、插入和删除)发送到数据库"。尽管插入是为了使用,如果您希望对数据插入进行更多控制,但不允许传递数据行,则必须使用参数。请参阅MSDN上的完整参考资料:http://msdn.microsoft.com/en-us/library/ms233812(v=vs.110).aspx

Update方法用法的代码示例。

// Create a new row.
NorthwindDataSet.RegionRow newRegionRow;
newRegionRow = northwindDataSet.Region.NewRegionRow();
newRegionRow.RegionID = 5;
newRegionRow.RegionDescription = "NorthWestern";
// Add the row to the Region table 
this.northwindDataSet.Region.Rows.Add(newRegionRow);
// Save the new row to the database 
this.regionTableAdapter.Update(this.northwindDataSet.Region);  

代码示例插入:

NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
new NorthwindDataSetTableAdapters.RegionTableAdapter();
regionTableAdapter.Insert(5, "NorthWestern");