Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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#_Database_Ms Access_Visual Studio 2013 - Fatal编程技术网

C# 创建新记录时,如何自动将外键值与主键值匹配?

C# 创建新记录时,如何自动将外键值与主键值匹配?,c#,database,ms-access,visual-studio-2013,C#,Database,Ms Access,Visual Studio 2013,首先,我正在与C#和MS Access 2013合作。现在我已经解决了这个问题,我很难将子表中的外键与父表中的主键进行匹配 我目前有一个表“Customers”,主键是CustomerID和Autonumber。我有另一个名为“Dogs”的表,PK是DogID和Autonumber。然后我有一个名为“Reservations”的表,其中CustomerID和DogID字段是外键和数字 在Visual Studio 2013中,我创建了表单,从用户那里获取信息,并将数据发送到数据库中相应的表中。例

首先,我正在与C#和MS Access 2013合作。现在我已经解决了这个问题,我很难将子表中的外键与父表中的主键进行匹配

我目前有一个表“Customers”,主键是CustomerID和Autonumber。我有另一个名为“Dogs”的表,PK是DogID和Autonumber。然后我有一个名为“Reservations”的表,其中CustomerID和DogID字段是外键和数字

在Visual Studio 2013中,我创建了表单,从用户那里获取信息,并将数据发送到数据库中相应的表中。例如,当有新客户时,我获取新客户所需的所有信息,并将其作为新记录插入“customer”表中。然后这个客户为他们的狗预订了房间,所以我把狗的信息作为新记录发送到“Dogs”表。此时,“Customers”和“Dogs”表中的新记录设置了它们的主键。然后我必须进行预订,并在“预订”表中插入一条新记录。正如我所说的,这个表有CustomerID和DogID字段作为外键,并且必须匹配刚刚创建的customer和dog的主键


我怎样才能做到这一点?它必须与查询一起使用吗?我需要手动操作吗?我对数据库很陌生,希望能得到帮助。谢谢大家!

当您插入记录时,数据库会生成自动编号值,然后您必须检索这些记录。做到这一点的最佳方法取决于您如何处理数据。如果调用
ExecuteNonQuery
插入记录,则随后检索
@@IDENTITY
的查询将获得最后一个自动生成的值。请注意,如果多个用户连接到数据库,则可能会受到干扰。我正在使用
ExecuteNonQuery
插入记录。如何确切地创建查询以检索
@@IDENTITY
?我以前从未创建过查询,更不用说使用
@@IDENTITY
。查询只是一个
SELECT
语句。您应该研究一下
SELECT
语句和Access中的
@@IDENTITY
变量。当有人给你关键词时,你应该一直这样做。我怀疑你会很难找到我所描述的例子。非常感谢。这为我指明了正确的方向在Access中获取@@Identity值是hokey。请务必阅读此处的示例:并确保使用与添加记录相同的连接对象。