2012-05-16 76 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

相關問題