1

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

这两种方法似乎都很容易使用,但是,第一种方法甚至可以从表中删除行(基本上我DataSet将在我的数据库表上“序列化”)并且由于该表确实是应用程序的关键部分,我会避免任何数据删除的机会,所以我更喜欢Insert方法。

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

4

1 回答 1

2

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

更新方法使用的代码示例。

// 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");
于 2013-08-02T16:13:53.533 回答