在Delphi XE2中使用dbExpress检索TimeStamp数据时出错

时间:2012-01-07 13:01:15

标签: delphi odbc dbexpress

我正在通过Delphi XE2,dbExpress和ODBC从SQL Anywhere数据库中检索TIMESTAMP数据。 读取数据会抛出一个EConvertError,说“UngültigesArgumentzum Kodieren der Zeit”(“编码时间的参数无效”)。

在我看来,dbExpress ODBC驱动程序使用纳秒而不是毫秒的值填充TSQLTimeStamp结构的“分数”字段。 ODBC以纳秒为单位传递分数here。 我可以通过使用AsSQLTimeStamp获取数据并将值除以1000000来执行(坏)解决方法。

这是dbExpress ODBC-Driver中的错误吗? 或者是否有一些奇怪的标志或参数我必须设置为以毫秒为单位获得“分数”?

1 个答案:

答案 0 :(得分:1)

几个月前,我将此问题发布到了Embarcadero错误报告门户。

https://quality.embarcadero.com/browse/RSP-23494

对于Delphi 10.3.2,现在将其标记为“已解决”。我尚未尝试过此版本,但我会在确认时确认它可以工作。