C# 在表中插入数据行

C# 在表中插入数据行,c#,database,sql-server-2005,C#,Database,Sql Server 2005,我有一个函数,它返回一个类型化的DataRow对象,现在我将在给定的表中插入这个DataRow。我可以通过两种方式使用TableAdapter完成此操作:TableAdapter.Update和TableAdapter.Insert 这两种方法使用起来都很简单,但第一种方法甚至可以从表中删除行(基本上,我的数据集将在我的DB表上“序列化”),并且由于此表实际上是应用程序的关键部分,我将避免任何数据删除的机会,因此我将预先选择插入方法 问题似乎是Insert方法不接受DataRow对象作为参数(与

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

这两种方法使用起来都很简单,但第一种方法甚至可以从表中删除行(基本上,我的
数据集
将在我的DB表上“序列化”),并且由于此表实际上是应用程序的关键部分,我将避免任何数据删除的机会,因此我将预先选择
插入
方法


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

更新方法允许您在tableAdapter中插入、更新或删除更改。MSDN:'当应用程序使用数据集存储数据时,请使用TableAdapter.Update方法。Update方法将所有更改(更新、插入和删除)发送到数据库“”。虽然Insert是一种默认用法,但如果您希望对数据插入进行更多控制,但不允许您传递数据行,则必须使用参数。请参阅MSDN上的完整参考:

更新方法用法的代码示例

// 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");