www.itzhe.cn - IT者网站

为方便您即时查看最新资讯 请设IT者网站为首页  投递文章  投稿指南 RSS订阅 IT者网站通告:
搜索: 您的位置主页>编程>论坛摘要>阅读资讯文章

Delphi访问Access数据库问题

2008-02-22 13:26:57   来源:论坛整理   作者:wildhorsetlj   【 评论:0   收藏本文

select * from tb_pcidata where Dtime like #2008-1-25 10:37:47#
select * from tb_pcidata where Dtime like #2008-1-25 10:39:28#

两个同样的sql语句执行具体时间点查询,但第一句返回的是2008-1-25 10:37:46的数据结果;第二句返回的是当前查询时间点2008-1-25 10:39:28的结果!
疑问,为什么同样的语句同样的操作方法却返回不一样的结果呢?
语句在sql explor中执行过,结构不同!
请帮忙!

网友回复:明明不同的语句,还问返回的结果怎么不一样.
网友回复:呵呵!我指的是sql语句方法都一样,只是时间参量不一样!
但对应的结果差异很大
网友回复:不明白你的癔思
网友回复:条件不一样啊,结果能一样?
网友回复:看来还是没有说明白:
执行了select * from tb_pcidata where Dtime like #2008-1-25 10:37:47#语句后,返回查询结果为:
时间 通道1 通道2 通道3 通道4 通道5 通道6 通道7
2008-1-25 10:37:47 14417 14864 14424 21533 14673 14548 14427

执行了select * from tb_pcidata where Dtime like #2008-1-25 10:39:28# 语句后,返回查询结果为:
时间 通道1 通道2 通道3 通道4 通道5 通道6 通道7
2008-1-25 10:39:28 14409 15336 13971 21155 14855 14601 14053

时间 通道1 通道2 通道3 通道4 通道5 通道6 通道7为字段名称


按理说应该返回的都是查询的时间点的字段,但第一条语句查询出来的结果却是它前一秒的数据,不知道原因是为什么!敬请高手指点!

网友回复:不懂,帮顶下
网友回复:是有类似四舍五入的规律?
网友回复:谁叫你用了like?
用=呢?
网友回复:同意楼上。
你假如用Like的话,为什么后面不加通配符呢?
MSSQL中是'%'或'?',在ACCESS中好象是'*'吧,忘了。
网友回复:使用select * from ... where ... between #....# to #....# 试一下
网友回复:你用的是like所以返回的结果就答应不等。
网友回复:同意 wisdosoft

一般针对字符型字段才会用 Like, 我第一次见到对时间字段使用 Like的情况
网友回复:Dtime是什么类型?
有个类似的现象,假如一个文件的修改时间是奇数秒的,从NTFS分区复制该文件到FAT32分区,
修改时间将变成偶数秒,或者在不同的系统之间复制该文件夹,修改时间也可能变成偶数秒。
网友回复:Access数据库查询时间字段,假如用=根本查不出来结果,用like则可以实现对某个时间点的查询。
谢谢各位回帖。
我已经找到了问题解决的方法了。
通过在Access数据库中设置时间字段的格式为yyyy-m-d h:mm:ss,问题解决了。

 

相关搜索:Delphi 访问 Access 数据库 问题  
责任编辑:
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 密码: 匿名:
    评论总数:0 [ 查看全部 ] 网友评论
    广告赞助
    广告赞助
    关于我们 - 联系我们 - 广告服务 - 法律声明 - RSS订阅 - 网站地图 - 返回顶部