读书人

SqlBulkCopy批量复制表有个奇怪的有关

发布时间: 2012-09-10 11:02:32 作者: rapoo

SqlBulkCopy批量复制表有个奇怪的问题。
dataTable中只有3列 name sex address

我想把这个dataTable的全部数据复制到数据库中的一个表,数据库中的结构和dataTable相同,唯一的区别就是数据库中的表多了一个自增的主键id。
结果奇怪的现象就出现了,在数据库设计字段时,如果自增id放在最顶上,address列的值就为null 说明没有复制过来。
但是...可但是..如果设计时把id列拉到最底下,address列的值就复制过来了..相当无语,
期待高人解答..

代码如下 ..填充datatable的部分略了

C# code
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy("server=.;uid=sa;pwd=sa;database=iisLogTest");            sqlBulkCopy.DestinationTableName = "iisLogTable";//目标表名            sqlBulkCopy.BatchSize = dt.Rows.Count;            SqlConnection sqlConnection = new SqlConnection("server=.;uid=sa;pwd=sa;database=iisLogTest");            sqlConnection.Open();            if (dt != null && dt.Rows.Count != 0)            {                sqlBulkCopy.WriteToServer(dt);            }            sqlBulkCopy.Close();            sqlConnection.Close();            stopwatch.Stop();



[解决办法]
设置映射,或者在dt 中加一列,数据为空 位置是第一列
[解决办法]
因为填充的时候 会忽略第一列
[解决办法]
可能需要给datatable添加一个自增列吧~~DataColumn类的AutoIncrement属性。
[解决办法]
http://jackyrong.cnblogs.com/archive/2005/08/29/225521.html

读书人网 >C#

热点推荐