起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 183|回复: 10

【结贴】[请求] 查询出错**

[复制链接]
发表于 2008-6-17 09:55:50 | 显示全部楼层 |阅读模式
根据日期查询,代码如下:
procedure TMainForm.Button1Click(Sender: TObject);
var
  lFilter:String;
begin
//查询事件
  if DataSetBroker1.DataSet.Active then
  begin
    lFilter := sysutils.DateToStr(DateTimePicker1.Date);
    if lFilter <> '' then lFilter := 'RQ = '''+lFilter+'''';
    TSqlDataSet(DataSetBroker1.DataSet).UserFilter :=lFilter;
  end;
end;

查询结果时对时错,如图:
全部数据

quan.jpg

15.73 KB, 下载次数: 77

回复

使用道具 举报

 楼主| 发表于 2008-6-17 09:56:38 | 显示全部楼层

查询结果不完整

查询结果不完整

01.jpg

9.83 KB, 下载次数: 78

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-17 09:57:46 | 显示全部楼层

查不出来

查不出来

02.jpg

8.26 KB, 下载次数: 75

回复 支持 反对

使用道具 举报

发表于 2008-6-17 10:13:17 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2008-6-17 10:18:31 | 显示全部楼层
估计是数据库里存的日期数据带了时间。

可以用>= 和<的方法来比较日期,不要用=
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-17 10:31:11 | 显示全部楼层
数据库中存储的是“日期时间”,现在根据输入的时间查询。是否要对数据库中的值进行操作呢?
回复 支持 反对

使用道具 举报

发表于 2008-6-17 10:35:17 | 显示全部楼层
类似这样的查询就可以了:RQ >= '2008-06-16 00:00:00' and RQ <= '2008-06-16 23:59:59'
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-17 11:02:36 | 显示全部楼层
改成7楼的别的都可以了,可是当天的却查不出来
回复 支持 反对

使用道具 举报

发表于 2008-6-17 11:04:03 | 显示全部楼层
代码是如何写的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-17 11:06:29 | 显示全部楼层
procedure TMainForm.Button1Click(Sender: TObject);
var
  lFilter:string;
begin
//查询事件
  if DataSetBroker1.DataSet.Active then
  begin
    lFilter := Business.system.sysutils.FormatDatetime('YYYY-MM-DD',DateTimePicker1.Date);
    if lFilter <> '' then lFilter :='(RQ >= ''' + lFilter+' 00:00:00'
    +'''' +') and (RQ <= ''' +lFilter+' 23:59:59' +'''' + ')';
    TSqlDataSet(DataSetBroker1.DataSet).UserFilter :=lFilter;
  end;
end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-17 20:29 , Processed in 0.044125 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表