【问题标题】:How can I replace records into another dataset?如何将记录替换到另一个数据集中?
【发布时间】:2023-03-08 10:27:01
【问题描述】:

我想将几名员工的记录从一家公司复制到另一家更大的公司。如果发生主键重复冲突,则必须替换记录。对于 Delphi DataSet,有“插入”、“追加”、“编辑”和“删除”命令,但是否有一种简单的方法可以在不知道完整表结构或主键的情况下“替换”相同表之间的记录?大约有 30 多个字段,将来可能会更改。

在 MySQL 中应该是 REPLACE INTO table2 (SELECT * FROM table1),但我想更改目标表中的一些字段,例如员工 ID 和部门代码。

【问题讨论】:

  • 通常我会推荐将模式设置为 dmAppendUpdate 的 FireDAC BatchMove 组件,但由于您似乎坚持使用 Delphi 7,这可能没有帮助。
  • @UweRaabe 我已经想出了一个解决方案,但是 BatchMove 似乎很有趣,因为我使用的是 MyDAC 并且有一个 CRBatchMove 组件。你能告诉我一个如何使用 BatchMove 的例子吗?

标签: delphi delphi-7


【解决方案1】:

恐怕在 Delphi 中无法替换/覆盖数据集记录。但是使用 MySQL 我可以将源数据选择到临时表中,修改临时表数据,然后将其放入目标表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-22
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    相关资源
    最近更新 更多