ADO.Net實現批量插入數據庫(採用SqlBulkCopy處理)

很多時候,我們在操作數據庫時需要大批量的進行存儲和更改數據庫的數據。如果每一次操作都進行連接數據庫,那將會浪費數據庫連接資源,增大資源開銷,降低數據庫的效率,爲了解決這個問題,數據庫普遍採用了連接池的技術。不過,今天我們要說的是如何在C#中實現大批量的插入數據庫數據。

string strConn="Data Source=.;Initial Catalog=HN_DingGou;Trusted_Connection=yes;";  //數據庫連接字符串

SqlBulkCopy sbc = new SqlBulkCopy(strConn);

假設現在有一個用戶表(Usres),裏面有三個字段:Id、Name、Age,我們需要先構建一個和數據表結構對應的DataTable對象:

DataTable dt=new DataTable();

dt.Columns.Add("Id");

dt.Columns.Add("Name");

dt.Columns.Add("Age");

假如我們現在已經封裝了一個用戶集合,作爲數據集

List<User> list=new List<User>()

{

new User(){Id=1,Name="張三",Age=10},

new User(){Id=2,Name="李四",Age=20},

new User(){Id=3,Name="王五",Age=30}

};

DataRow dr=dt.NewRow();

dr["Id"]=u.Id;

dr["Name"]=u.Name;

dr["Age"]=u.Age;

dt.Rows.Add(dr);

sbc.DestinationTableName = "Users"; //映射到數據庫的表名

sbc.ColumnMappings.Add("Id","Id");

sbc.ColumnMappings.Add("Name","Name");

sbc.ColumnMappings.Add("Age","Age");

sbc.WriteToServer(dt);

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章