【发布时间】:2011-03-11 10:35:20
【问题描述】:
最近一些Delphi/InterBase应用展示
“其他用户未找到或更改记录”
它们使用 dbExpress 的默认 TSQLQuery/TClientDataSet(或 TSimpleDataSet)组件。
我们发现在数据库表中,非dbExpress应用程序以毫秒为单位存储了一个字段。
dbExpress 似乎没有从 DB 中读取毫秒数,并在更新表 SQL 语句的“where”条件中使用了该截断值,因此没有匹配的记录要更新。
更新:我们在 Delphi 应用程序中使用 TSQLTimeStamp 字段。没有 OnBeforePost 处理程序正在修改字段值。
更新 2
从 IBExternals.pas 中可以看出,PCTimeStructure 没有毫秒部分。所以'按设计'不支持 Delphi (2009) 中的 InterBase 毫秒。
有人知道是否在更高版本的 Delphi 中添加了 ms 支持吗?
【问题讨论】:
标签: delphi timestamp dbexpress interbase