C# 在已索引字段的表中插入行后出现重复错误(重复正常)

C# 在已索引字段的表中插入行后出现重复错误(重复正常),c#,winforms,ms-access,C#,Winforms,Ms Access,这是我的桌子。两个索引列,其索引属性设置为Yes(重复项确定) 就这样, 但当我试图在c#winforms中使用此代码插入行时,如下所示: string query=“插入投诉(病假ID、投诉ID)”+ “价值观(14,4)”; 使用(OLEDB连接=新OLEDB连接(connectionString)) 使用(OleDbCommand命令=新OleDbCommand(查询、连接)) { connection.Open(); command.ExecuteNonQuery(); } } 我

这是我的桌子。两个索引列,其索引属性设置为Yes
(重复项确定)

就这样,

但当我试图在
c#winforms
中使用此代码插入行时,如下所示:

string query=“插入投诉(病假ID、投诉ID)”+
“价值观(14,4)”;
使用(OLEDB连接=新OLEDB连接(connectionString))
使用(OleDbCommand命令=新OleDbCommand(查询、连接))
{
connection.Open();
command.ExecuteNonQuery();
}
}
我得到以下信息:

System.Data.OleDb.OLEDBEException:'请求对表进行的更改未成功,因为它们将在索引、主键或关系中创建重复的值。更改字段中的数据或包含重复数据的字段,删除索引,或重新定义索引以允许重复条目,然后重试。”


我非常感谢你的帮助

根据异常情况,您违反了表的索引或主键
因此,请尝试生成表的创建脚本,以确保表上的所有约束都有效。

我刚刚尝试创建一个类似于您的表,并使用两个非唯一索引设置了两列。一个在第一列,一个在第二列

未定义其他索引或主键。在这种情况下,代码插入许多相同的记录没有问题。所以问题出在表定义的其他地方

我假设您在表上定义了一个主键。
这会自动创建一个唯一索引,因此您不能在该列或定义主键的列集中插入重复项

此表上是否只有一个索引?如果有多个索引,请检查所有索引。重复索引也在两列上?@Steve我在表上有两个索引,它们的索引属性设置为Yes(Duplicates OK)@Steve但当我在access中插入这些值时,我没有发现任何错误方法奇怪。你的连接字符串是什么?我得问问。你确定你在看同一个数据库吗?@Steve谢谢你的时间,我刚刚把两列都设置为非主键,所有的都工作了。非常感谢。也许您想将您的评论作为答案发布,以便我可以接受。如何在ms access中生成表的创建脚本?此外,当我在access中插入具有相同值的行时,我不会收到任何错误,正如我在表设计图像中看到的您共享的表列(SickLeaveId、ComplaintId)是主键,因此您不能插入重复的值。您可以通过创建标识自动增量primery来克服此问题key@Rintales你检查一下这个可能会有帮助