在表中插入DataRow

时间:2013-08-02 14:56:37

标签: c# database sql-server-2005

我有一个返回类型DataRow对象的函数,现在我将这个DataRow插入给定的表中。 As far as I know我可以通过两种方式使用TableAdapter来完成此操作:TableAdapter.UpdateTableAdapter.Insert

这两种方式看起来都很简单,但是,第一种方法甚至可以从表中删除行(基本上我的DataSet将在我的数据库表上“序列化”)因为这个表真的是应用程序的关键部分我会避免任何数据删除的机会,所以我会先做Insert方法。

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

1 个答案:

答案 0 :(得分:1)

更新方法允许您在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");