【问题标题】:How to add records to both tables in a one-to-many relationship in an access database in delphi如何在delphi的access数据库中以一对多关系向两个表中添加记录
【发布时间】:2018-11-11 20:07:04
【问题描述】:

我正在创建一个需要两张桌子的私人教练类型的程序。第一个表格是客户的个人详细信息,第二个表格是所有附加信息。

我使用自动编号主键和外键来连接两个表。但是当我想向第二个表中添加一条记录时,它会显示一个错误“您无法添加或更改记录,因为表'表名'中需要相关记录”。

请帮忙,提前谢谢

【问题讨论】:

  • 欢迎来到 SO。不幸的是,它不是一个教程网站,听起来你需要一个基本的 Master-Detail 教程。尝试在谷歌上搜索一个。
  • 请显示您用于插入记录的代码。插入第二个表时是否填充了外键,并且该键事先存在于第一个表中?

标签: delphi ms-access foreign-keys


【解决方案1】:

您必须获取刚刚插入的行的 id,并将该 id 用作第二个表中的外键。

具体如何获取该 ID 因数据库而异。在 Access 中,您可以查询 SELECT @@identity 以获取该 ID。可以单独查询,不过我想你也应该可以直接在第二个insert语句中使用,像这样:

insert into ChildTable(ParentTableId, othervalue)
values (@@identity, 'Bladiebla');

有关如何获取 id 的相关信息,另请参阅 Autonumber value of last inserted row - MS Access / VBA

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-09
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多