首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi7,泰坦BTrieve组件

Delphi7,泰坦BTrieve组件
EN

Stack Overflow用户
提问于 2012-07-15 19:54:26
回答 3查看 1K关注 0票数 0

我正在使用Delphi7和泰坦BTrieve来打开一个普及表。

它是一个TtbTable组件。

我正在尝试使用我的代码对TimeStamp字段应用过滤器,如下所示:

代码语言:javascript
复制
    Date:=InputDate;
    DateString:=FormatDateTime('DD/MM/YYYY HH:NN:SS', InputDate);
    Table1.Filter:='UPDATEDON > '+chr(39)+DAteString+chr(39);
    Table1.Filtered:=True;

问题是过滤结果是不正确的。它将返回不符合筛选条件的之前的记录。

EN

回答 3

Stack Overflow用户

发布于 2012-07-17 20:02:56

Table1.Filter过滤TDataSet中不是btrieve/pervasive格式的数据。

问题是字符串格式的日期...必须使用格式YYYY-MM-DD,而不是DD-MM-YYYY,因为字符串比较。

在字符串比较中,17-06-2012大于16-07-2012,(17>16)

票数 1
EN

Stack Overflow用户

发布于 2012-07-15 21:44:49

从外观上看,您是在比较字符串,而不是日期。

票数 0
EN

Stack Overflow用户

发布于 2012-07-16 00:35:03

您使用的是什么版本的PSQL?UPDATEDON字段是否定义为Btrieve数据库中的时间戳?如果是时间戳,则值以8字节无符号值存储,表示自公历、协调世界时(UTC)中自0001年1月1日以来的7秒(10^-7秒)。它不是以字符串形式存储的。

Btrieve / PSQL以'YYYY-MM-DD‘格式存储日期。

WHat来自UPDATEDON字段的值看起来像吗?要将其用作过滤器,您需要确保过滤器值看起来是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11491650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档