使用SqlBulkCopy为上载到数据库的文件插入唯一ID

时间:2013-01-31 08:18:14

标签: c# database bulkinsert sqlbulkcopy

有一个包含以下列的表:

ProdID
Specification
Value

我有一个csv文件,其架构只有最后两列 - SpecificationValue。换句话说,它们是我的csv标题。现在我需要将此文件的值与一个唯一ID相关联。

该id的重要性在于它是对文档的引用;它在这里并不重要,但是,现在假设系统需要它。

现在,当我使用SqlBulkCopy类进行插入时,我仍然可以为ProdID插入一些值,这样插入的每行将具有与我尝试批量复制的文件相同的ProdID?

2 个答案:

答案 0 :(得分:1)

这取决于。如果ProdID是数据库中的identity字段,则数据库将在您执行批量复制时为您填写。

如果不是,您需要自己填写并将三列传递给SqlBulkCopy,而不只是两列。

答案 1 :(得分:0)

您必须在以下代码的行中执行某些操作:

string cmdTxt = "SELECT " + ProdID + ", * FROM [sample.csv]";

将ProdID字段放在上面的select子句中的位置并不重要;在开头或结尾,您将获得结果集,其中ProdID为第一个字段...