Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置自动编号字段?_C#_Ms Access_Dao - Fatal编程技术网

C# 设置自动编号字段?

C# 设置自动编号字段?,c#,ms-access,dao,C#,Ms Access,Dao,我有以下代码,在设置属性的行中抛出异常“COM异常未处理”: var tbdefinition = dbase.TableDefs["MyDB"]; var field_auid = tbdefinition.Fields["myColumn"]; field_auid.Attributes = 4; 我做错了什么?在Jet数据库中,如果表中已经包含记录,则不能将现有字段的类型更改为“自动编号”。 但是,您可以添加一个新字段,这是一个自动编号字段。您是否尝试单步执行该字段或捕获异常?使用调试器

我有以下代码,在设置属性的行中抛出异常“COM异常未处理”:

var tbdefinition = dbase.TableDefs["MyDB"];
var field_auid = tbdefinition.Fields["myColumn"];
field_auid.Attributes = 4;

我做错了什么?

在Jet数据库中,如果表中已经包含记录,则不能将现有字段的类型更改为“自动编号”。
但是,您可以添加一个新字段,这是一个自动编号字段。

您是否尝试单步执行该字段或捕获异常?使用调试器,查看该异常是否有提供更多信息的
InnerException
。您确定
4
是此处的有效值吗?请解释(编辑问题)这与“自动编号”字段有什么关系。很抱歉,4是将“自动编号”属性设置为true的枚举VBA值的编号。嘿,很抱歉响应太晚,但我花了几个小时在家里安装新系统。谢谢你说得很清楚@Olivier。我转向DAO的原因是,当我执行OledbCommand ALTER命令时,我发现该字段没有更改为自动编号。这很奇怪,因为它对我创建的另一个表起到了作用。我的数据库有两个表,其中一个表的外键指向另一个表的主键。让我们称它们为Parent和Child,以便于下面解释我的代码。1)创建Parent1并设置PK。然后使用DAO,我设置一个位字段作为复选框,并从一个数据集填充表,该数据集包含父数据库的记录+具有不同数据的同一数据库的另一个副本的记录。2) 以类似的方式创建Child2。3) 更改要设置为自动编号的表格字段。4) 删除表Parent和Child,并将Parent1重命名为Parent,将Child1重命名为Child。5) 最后,我将FK添加到子表中。一些奇怪的事情。我父母的字段成功更改为自动编号,但我孩子的字段没有。事实上是这样的!但是,当我将表从Child1重命名为Child时,似乎会丢失该属性。