c# – 如何使用单个查询将多个记录从Dataset插入SQL Server 2005?

我在ADO.NET中有一个包含来自用户端的多条记录的数据集.我需要在单个查询中将所有这些行插入到数据库中,以避免多次查询
最佳答案:
也许像批量复制这样的东西就是答案.下面的代码项目中的示例显示了如何使用DataTable执行此操作,但您应该能够更改示例以使用DataSet.
下面是代码的一小部分,涵盖了SQL Server中的连接和执行(取自CodeProject).
需要注意的关键部分是bulkcopy.WriteToServer(SourceTable); SourceTable是您传递给它的DataSet的一部分
//First create a connection string to destination database
string connectionString;
connectionString = <EM>YourConnectionString</EM>and
Initial Catalog=TestSMODatabase";
//Open a connection with destination database;
using (SqlConnection connection =
new SqlConnection(connectionString))
{
connection.Open();
//Open bulkcopy connection.
using (SqlBulkCopy bulkcopy = new SqlBulkCopy(connection))
{
//Set destination table name
//to table previously created.
bulkcopy.DestinationTableName = "dbo.TestTable";
try
{
bulkcopy.WriteToServer(SourceTable); // SourceTable would come from your DataSet
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
connection.Close();
}
}