dataTable中只有3列 name sex address我想把这个dataTable的全部数据复制到数据库中的一个表,数据库中的结构和dataTable相同,唯一的区别就是数据库中的表多了一个自增的主键id。
结果奇怪的现象就出现了,在数据库设计字段时,如果自增id放在最顶上,address列的值就为null 说明没有复制过来。
但是...可但是..如果设计时把id列拉到最底下,address列的值就复制过来了..相当无语,
期待高人解答..代码如下 ..填充datatable的部分略了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();
结果奇怪的现象就出现了,在数据库设计字段时,如果自增id放在最顶上,address列的值就为null 说明没有复制过来。
但是...可但是..如果设计时把id列拉到最底下,address列的值就复制过来了..相当无语,
期待高人解答..代码如下 ..填充datatable的部分略了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();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货