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

在Delphi XE2中使用dbExpress检索时间戳数据时出错,delphi,odbc,dbexpress,Delphi,Odbc,Dbexpress,我正在通过DelphiXe2、dbExpress和ODBC从SQLAnywhere数据库检索时间戳数据。 读取数据会抛出一个EConvertError,表示“Ungültiges Argument zum Kodieren der Zeit”(“用于编码时间的无效参数”) 在我看来,dbExpress ODBC驱动程序使用纳秒而不是毫秒的值填充TSQLTimeStamp结构的“分数”字段。 ODBC以纳秒为单位提供描述的分数。 我可以通过使用AsSQLTimeStamp获取数据并将值除以1000

我正在通过DelphiXe2、dbExpress和ODBC从SQLAnywhere数据库检索时间戳数据。 读取数据会抛出一个EConvertError,表示“Ungültiges Argument zum Kodieren der Zeit”(“用于编码时间的无效参数”)

在我看来,dbExpress ODBC驱动程序使用纳秒而不是毫秒的值填充TSQLTimeStamp结构的“分数”字段。 ODBC以纳秒为单位提供描述的分数。 我可以通过使用AsSQLTimeStamp获取数据并将值除以1000000来解决(糟糕的)问题

这是dbExpress ODBC驱动程序中的错误吗?
或者我必须设置一些奇怪的标志或参数才能在毫秒内获得“分数”?

几个月前,我将此问题发布到Embarcadero bug报告门户网站


对于Delphi 10.3.2,它现在标记为“已解决”。我还没有尝试过这个版本,但我会在尝试后确认它是否有效。

几个月前,我将这个问题发布到Embarcadero bug报告门户网站上

对于Delphi 10.3.2,它现在标记为“已解决”。我没有尝试这个版本,但我会确认它的工作时,我这样做