2012-05-16 57 views
-1

我在这里有一种情况,需要上传一个可能有超过50K记录的Excel工作表。现在的问题是使用DataTable管理它。我将整个记录存储到一个DataTable中,然后我将这些行整理成一行一行的插入数据库。如何使用Asp.net将批量表添加到数据库中

我可以看到,它只是在第二插入50recrods,它会需要几个小时才能完成整个过程..

有,您可以发送整个数据集或数据表的SQL所以它会以任何方式比这更快?

即时通讯使用Web应用程序。


在Windows应用程序中有用DataAdapter批量更新的选项。像明智是有ASP.NET的任何方法

回答

1

希望这是你想要

public void BultInsert(DataTable dtSource) 
      { 
       System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(GetconnectionString());//add connectionstring here 

       bcp.DestinationTableName = "DestinationTable";//give destination table name 

       //bcp.ColumnMappings.Add("Column1", "Column1");//Map all columns 

       bcp.ColumnMappings.Add("Column2", "Column2"); 

       bcp.ColumnMappings.Add("Column3", "Column3");    
    // and so on...., maap all source table with your destination table 
       if (dtSource.Rows.Count > 0) 
       { 
        bcp.WriteToServer(dtSource); 
       } 

      } 
+0

这是否会成为我们覆盖它或将只是其附加? – smilu

+0

谢谢..它的工作 – smilu

相关问题