日期:2014-05-17  浏览次数:20386 次

用sqlbulkcopy 把DataTable里的资料导入数据库
大致代码如下   
在DataTable 有以下数据
NAME SIZE
测试1 230
测试2 F
测试3 XL
测试4 240

问题:
    用SqlBulkCopy导入到数据库4笔数据都成功了,也没有出现错误,但是在SIZE字段里面 只有230,240这两个值.其他两个是空的(不是NULL)哦...求解!!! 
数据库:MSSQL2008   SIZE字段为:NVARCHAR


DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("NAME", typeof(string));
DataColumn dc2 = new DataColumn("SIZE", typeof(string));
dtProductDetail.Columns.Add(dc1);
dtProductDetail.Columns.Add(dc2);

DataRow dr = dtProductDetail.NewRow();
dr["NAME"] ="AAA";
dr["SIZE"] = "123";
dt.Rows.Add(dr);

SqlBulkCopy.ColumnMappings.Add("NAME", "NAME");
SqlBulkCopy.ColumnMappings.Add("SIZE", "SIZE");
SqlBulkCopy.DestinationTableName = "Table_A";
SqlBulkCopy.WriteToServer(dt);

------解决方案--------------------
帮顶!
------解决方案--------------------
datatable的,另外加上datatable到SqlBulkCopy的映射。具体如何映射,你问度娘吧。