首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

帮小弟我看下这句查询语句有什么有关问题

2012-03-08 
帮我看下这句查询语句有什么问题delphi连access今天是4月20日。qssj:datetostr(now)+ 6:00:00zzsj:dat

帮我看下这句查询语句有什么问题
delphi连access 
 今天是4月20日。
 qssj:=datetostr(now)+' 6:00:00';
  zzsj:=datetostr(now)+' 18:00:00';
(这时qssj应该是2010-4-20 6:00:00,zzsj是2010-4-20 18:00:00)
sql:='select count(*) as 出车车辆,sum(zhuangzl) as 出车重量 from dzhyb where zhanneisj is not null and zhanneisj<= #'+zzsj+ '# and zhanneisj>= #'+ qssj + '# and bzw=0';

我录入的zhanneisj是2010-4-20 17:40:36

它应该在这个范围之内呀,可是没有查到。
而在2010-4-19 18:00 到2010-4-20 6:00:00里面找到了,怎么回事呢?



[解决办法]
没有查到那可能是其他条件的问题,你一个条件一个条件的排除吧
[解决办法]
时期时间格式适用between
sql:='select count(*) as 出车车辆,sum(zhuangzl) as 出车重量 from dzhyb where zhanneisj is not null and zhanneisj between qssj and zzsj and bzw=0';
[解决办法]
你的字段类型设置的是日期型的吗?
[解决办法]
qssj 和 zzsj 是字符型的 你数据库里的zhanneisj 也是用字符型存的吗?? 最好是转换一下 用BETWEEN查 。
[解决办法]
delphi连access
我记得不能用Between的 ,那是连SQL2000用的。access的时间比较语句比较特殊;
你可以查一下相关资料;或者看看下面的语句能不能适合你用,自己再修改一下:
with ADOQuery1 do
begin
……
SQL.text:= SQL.text + ' and zhanneisj>=:TestH' ;
SQL.text:= SQL.text + ' and zhanneisj<=:TestE' ;
parameters.parambyname('TestH').value:=Datetimetostr(qssj); 
parameters.parambyname('TestE').value:=Datetimetostr(zzsj);
end;
[解决办法]
确定你的计算机时间是否准确
[解决办法]
我喜欢在设计字段时日期和时间分开放。
[解决办法]
你把6前面加个0试试,象这样:

qssj:=datetostr(now)+' 06:00:00';

[解决办法]
先查你的时间是不是日期型的,再逐个排除,时间段一般用between查。

热点排行