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

我在ADO.NET中有一个包含来自用户端的多条记录的数据集.我需要在单个查询中将所有这些行插入到数据库中,以避免多次查询最佳答案:也许像批量复制这样的东西就是答案.下面的代码项目中的示例显示了如何使用DataTable执...

我在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();
   }
}

本文标题为:c# – 如何使用单个查询将多个记录从Dataset插入SQL Server 2005?

基础教程推荐