簡體   English   中英

生成包含標識列的插入語句

[英]Generating insert statement that includes identity column

我正在嘗試使用CommandBuilder生成包含Identity列的插入語句。 為了生成測試數據,我希望能夠在表上啟用“身份插入”后將一個值插入到身份列中

var sql = "Select * from Table";
var dataAdapter = new SqlDataAdapter(sql, conn);
dataAdapter.Fill(currentTable);
var cb = new SqlCommandBuilder(dataAdapter);

命令構建器的確會生成插入語句,但是我無法使其包含身份列。 我正在為許多表創建通用解決方案,因此我想避免手動生成語句。 有沒有辦法欺騙它包括所有列?

我也對不包含CommandBuilder的其他解決方案持開放態度

commandbuilder使用從數據庫獲得的架構,並且命令構建過程不可配置。 唯一的選擇可能是將“ instert into(”替換為“ insert into(id,”,“ values(”替換為“ values(@id,“。)。不要忘記在參數集合中添加@id參數。

使用純SQL執行此操作:

set IDENTITY_INSERT dbo.MyTable ON;

insert into dbo.MyTable (id, ...) values (1, ...)
...

set IDENTITY_INSERT dbo.MyTable OFF;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM