当前位置: 代码迷 >> ASP.NET >> 如何把DataTable的数据写入数据库,循环除外
  详细解决方案

如何把DataTable的数据写入数据库,循环除外

热度:4487   发布时间:2013-02-25 00:00:00.0
怎么把DataTable的数据写入数据库,循环除外
RT
从数据库表A中读数据,生成并填充到DataTable,然后操作DataTable,最后把DataTable的数据写入到数据库表B

//生成MyDataTable
DataTable myDataTable = new DataTable();
SqlDataAdapter myAdapter = new SqlDataAdapter("读表A数据", myconn);
myAdapter.Fill(myDataTable);
//以上修改DataTable数据
myDataTable.Columns.Add("newColumn",typeof(int));
……

//然后要写入表B,除了循环写入,还有什么比较好的方法亚。



表A字段 MyDataTable字段 表B字段
A A A
B B B
C C E
D D  
  E
怎么把MyDataTable的数据写入到表B,除了循环写入,还有什么比较好的方法求教一下。
感觉好像循环写入有点不大对劲,效率有点问题

------解决方案--------------------------------------------------------
C# code
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(connectionString); sqlBulkCopy.DestinationTableName = "Passport"; sqlBulkCopy.BatchSize = dataTable.Rows.Count; SqlConnection sqlConnection = new SqlConnection(connectionString); sqlConnection.Open(); if (dataTable!=null && dataTable.Rows.Count!=0) { sqlBulkCopy.WriteToServer(dataTable); } sqlBulkCopy.Close(); sqlConnection.Close();
------解决方案--------------------------------------------------------
DataTable数据批量写入数据库三种方法比较
------解决方案--------------------------------------------------------
C# code
SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction);sqlbulkcopy.DestinationTableName = "Table_1";//数据库中的表名sqlbulkcopy.WriteToServer(dataset.Tables[0]);
  相关解决方案