在下面的代码中,我试图将记录从excel插入到数据库表中,但是没有通过excel传递附加列,该列必须填充有从请求的页面分配的常量值(foreach循环具有不同的值) 。

string CONSTANTVALUE="Test";
bulkCopy.DestinationTableName = "TABLE NAME";
bulkCopy.ColumnMappings.Add("TABLECOLUMN1", "EXCELCOLUMN1");
bulkCopy.ColumnMappings.Add("TABLECOLUMN2", "EXCELCOLUMN2");
bulkCopy.ColumnMappings.Add("TABLECOLUMN3", CONSTANTVALUE);
bulkCopy.WriteToServer(dr);

但是代码不起作用。有任何想法吗?

最佳答案

我认为您的dr是某种读者。它是如何填充的?可以在列中选择一个默认值并将其映射。像这样(SQL语法)

select
    EXCELCOLUMN1,
    EXCELCOLUMN2,
    'ConstantValueFromPage' as EXCELCUSTOM
from
    sheet1

然后有:
bulkCopy.ColumnMappings.Add("TABLECOLUMN3", "EXCELCUSTOM");

高温超导

关于asp.net - 如何使用ASP.Net SqlBulkCopy将常量值插入列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6595434/

10-11 07:04