【问题标题】:disable/enable auto increment in MSAccess via query通过查询在 MS Access 中禁用/启用自动增量
【发布时间】:2013-03-05 11:27:17
【问题描述】:

在数据传输期间我想:

在 MSAccess 中禁用/启用自动增量列

所以我可以通过 MSAccess 中的查询获得我的 C# 应用程序插入的确切值。

在 MSSQL 中,我们可以这样做来启用:

sqlCmdDes.CommandText = "SET IDENTITY_INSERT  dbo." + row["Table_Name"] + " ON";

并禁用自动增量:

sqlCmdDes.CommandText = "SET IDENTITY_INSERT  dbo." + row["Table_Name"] + " ON";

【问题讨论】:

  • 你不能。您可以插入到子表中,也可以获取插入的记录数。
  • 即使可以,也会导致同时活动出现问题。
  • 这是我的问题的解决方案。一直在寻找它。好球 。 stackoverflow.com/questions/3374375/…

标签: sql sql-server ms-access auto-increment


【解决方案1】:

您可以在 Access 的标识(计数器)列中插入特定值,而无需设置 IDENTITY_INSERT。 只需使用 INSERT 语句。

【讨论】:

  • 如何在身份列中指定我自己的值?它们是自动编号。我可以将值归零,但这不是必需的。你能举个例子吗?
  • 示例(id 为计数器):插入 Table_name(id) 值(999);简单地尝试一下。 999 不应在现有值中。
  • 它没有用。我将数据从 Sql 服务器复制到 DataTable,然后使用 OleDbCommandBuilder 我插入到 MSAccess 表中,但 MSAccess 遵循新顺序并且没有保存插入命令的 Auto Increment 列值。例如我试图保存 2,3,4,8,9 但 MSAccess 保存了 1,2,3,4,5
  • 它适用于我,如果我也将另一个表中的值插入计数器字段。前任。插入 tab(id) select id FROM Tbl;
  • 你说得对,我错过的一点是我需要指定列名。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-27
  • 1970-01-01
  • 2013-12-17
相关资源
最近更新 更多