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,除了循环写入,还有什么比较好的方法求教一下。
感觉好像循环写入有点不大对劲,效率有点问题

解决方案 »

  1.   

    即使找个一个这样方法  那么.NET 内部是用循环插入的
      

  2.   


    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(); 
      

  3.   

    DataTable数据批量写入数据库三种方法比较
      

  4.   


    SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction);
    sqlbulkcopy.DestinationTableName = "Table_1";//数据库中的表名
    sqlbulkcopy.WriteToServer(dataset.Tables[0]);插入20000条记录时间:00:00:00.3276000
      

  5.   

    在程序里循环拼sql字符串
    for ()
    insert into tb
     select 值1,值2,值3 union all再执行