首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用OleDbDataAdapter插入AutoNumber

使用OleDbDataAdapter插入AutoNumber
EN

Stack Overflow用户
提问于 2010-11-17 03:00:13
回答 1查看 868关注 0票数 0

我需要通过在互联网上收到的XML文件在.NET中复制MS Access数据库。目标数据库必须与原始数据库完全相同(相同的内容和相同的PKs)。

因为我有许多表要复制,所以我使用OleDbDataAdapter为我生成insert查询。即使对于将自动生成的Guid作为其主键的表,这也能很好地工作。OleDbCommandBuilder (cmdBuilder.GetInsertCommand())生成的INSERT命令的参数中有Guid字段,因此插入的guid与源DB相同。

我遇到的唯一问题是使用自动编号整数作为主键的表。生成的INSERT命令不包含主键字段,因此当序列中有孔时,插入的数字与源数据库不匹配。

在生成insert命令时,是否有隐藏在某个位置的属性将包含自动编号列?

下面是我的代码:

代码语言:javascript
复制
public void InsertContentFromXml(string tableName, string xml)  
{  
   using (OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [" + tableName + "]", _connection))
   {  
      OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);  
      OleDbCommand insertCommand = builder.GetInsertCommand();  
      // insertCommand does not have the autonumber column in its insert query  
   }  
}

该表有3个字段:

IdReport整数/自动编号

ReportName文本

ReportType文本

insert命令生成两个参数: ReportName和ReportType

谢谢

EN

回答 1

Stack Overflow用户

发布于 2010-11-17 03:02:54

您需要自己创建INSERT命令及其参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4197912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档