将excel数据批量导入sql和GUID问题

时间:2013-08-19 14:21:33

标签: c# sql-server excel guid

用户使用一个应用程序来捕获数据。对于每条记录,将创建uniqueidentifier并将其添加到行(GUID)。

要求通过传递应用程序批量上传。数据存储在excel中。我使用Microsoft.Jet.OLEDB.4.0从Excel中选择数据并执行C#SqlBulkCopy tyo插入值。

问题是将rowduid列设置为每条记录的新GUID。我怎样才能做到这一点。我想通过做一些像“Select *,newguid as ID FROM [sheet1 $]”这样的东西,但我不知道excel中是否有这样的查询。请帮忙。感谢。

1 个答案:

答案 0 :(得分:0)

(由于无法创建NEWID()的默认值)您可以执行插入后更新,例如......

CREATE TABLE ##GUID(
    ID INT,
    ValueOne VARCHAR(1),
    NewGuid UNIQUEIDENTIFIER
)

INSERT INTO ##GUID (ID,ValueOne)
VALUES (1,'A')
    , (2,'B')
    , (3,'C')

SELECT *
FROM ##GUID

-- after the INSERT, update the table with the GUID
UPDATE ##GUID
SET NewGuid = NEWID()

SELECT *
FROM ##GUID

DROP TABLE ##GUID