【问题标题】:Delphi database created and modified using DBNavigation使用 DBNavigation 创建和修改 Delphi 数据库
【发布时间】:2016-08-30 14:27:05
【问题描述】:

大家正在寻找如何优化我的DBNavigation,以便在我对DBGrid 进行更改时自动在数据库col 中插入或更新日期和时间。

在数据库中我有ID, Name, Description, Created<datetime>, Modified<datetime>

现在,当我更改 dbgrid 中的某些列并单击保存(编辑后)时,我想插入或更新创建或修改的日期和时间!

我在谷歌上搜索过这个,但我没有找到。

我是 delphi 的新手...

任何人都可以给我示例或链接,我可以在其中阅读更多相关信息!

【问题讨论】:

标签: mysql delphi datetime delphi-7 delphi-2010


【解决方案1】:

您可以使用连接到网格的数据集来执行此操作。

在 IDE 中,单击数据集并转到 Object Inspector Events 选项卡。

找到BeforePost事件,双击它并输入这样的代码

if MyDataSet.State = dsInsert then  //  a new record is being added
  MyDataSet.FieldByName('Created').AsDateTime := Now;
else
  //  modifying an existing record
  MyDataSet.FieldByName('Modified').AsDateTime := Now;

正如评论中所述,您可以使用服务器上的触发器填充/更新这些字段,但是您必须刷新 Delphi 数据集中的数据才能接收这些字段中的值,这对于 where 可能有点先进你现在就在。

【讨论】:

  • 另外,由于他在 MySQL 和 PHP 方面的经验比在 Delphi 中的经验多——他在 MySQL 中编写的代码越多——他在 Delphi 中要做的(以及将来维护的)就越少。他会更好地利用他的技能,多用 MySQL 编程,少用 Delphi 编程
  • 根据他使用的 db-access 库,不应该通过 TDataSet.ReSync 自动重新阅读发布的记录吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-04
  • 1970-01-01
  • 2012-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多