我的datatable的表的字段顺序是否要和我写入的数据库的表的字段顺序一摸一样,还是说只要字段名一样就可以了。
SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction);
sqlbulkcopy.DestinationTableName = "Table_1";//数据库中的表名sqlbulkcopy.WriteToServer(dataset.Tables[0]);
另外,如果datatable表格列数少,这样复制进去会不会出问题?

解决方案 »

  1.   

    两个表的结构一定要一样。便未必字段要一样。若一样则直接WriteToServer。
    若不一样,则直接建立对比表.sqlbulk.ColumnMappings.Add("MRPID", "TDG001");
                        sqlbulk.ColumnMappings.Add("MaterialCode", "TDG002");
                        sqlbulk.ColumnMappings.Add("ReqDate", "TDG003");
                        sqlbulk.ColumnMappings.Add("Unit", "TDG004");
                        sqlbulk.ColumnMappings.Add("CrossQty", "TDG005");
                        sqlbulk.ColumnMappings.Add("MainCode", "TDG006");
                        sqlbulk.ColumnMappings.Add("BOMMainCode", "TDG007");
                        sqlbulk.ColumnMappings.Add("Sequence", "TDG008");
      

  2.   

    1.只要字段名一样就可以.
    2.如果datatable表格列数少,而其他列可以为空的话或有默认值的话,也可以。