起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 810|回复: 13

【结贴】[请求]过滤不出数据

[复制链接]
发表于 2010-6-10 21:00:36 | 显示全部楼层 |阅读模式
一段代码实现当窗体打开时自动呈现昨天的数据,但每次打开都是新的空白数据集,请问怎么回事:
代码如下:
procedure TDLRBB.BizFormShow(Sender: TObject);
var
  lMStartTime, lYStartTime, lYesterDay: TDateTime;
  lYFilterSql, lMFilterSql: string;
begin
  lYesterDay := DateOf(IncDay(SysService.Time, -1));

  TSqlDataSet(dsbMaster.DataSet).SQLFiltered := False;
  TSqlDataSet(dsbMaster.DataSet).SQLFilter := ' RQ = to_date('''+sysutils.DateTimeToStr(lYesterDay)+''',''yyyy-mm-dd'')';
  TSqlDataSet(dsbMaster.DataSet).SQLFiltered := true;
  dsbMaster.DataSet.Open;
  TSqlDataSet(dsbSource.DataSet).SQLFiltered := False;
  TSqlDataSet(dsbSource.DataSet).SQLFilter := ' RQL = to_date('''+sysutils.DateTimeToStr(lYesterDay)+''',''yyyy-mm-dd'')';
  TSqlDataSet(dsbSource.DataSet).SQLFiltered := true;
  dsbSource.DataSet.Open;

  //有今天的报表记录
if not dsbMaster.DataSet.IsEmpty then
  begin
    if dsbMaster.DataSet.FieldByName('SHZT').AsString = '已审核' then
    begin
      Panel1.Caption := dsbMaster.DataSet.FieldByName('RQ').AsString + '的报表已经生成,并已审核。';
      Panel1.Visible := true;
      dsbSource.DataSet.ReadOnly := True;
      tlbGSP.Enabled := False;
    end else
    if dsbMaster.DataSet.FieldByName('SHZT').AsString = '未通过' then
    begin
      Panel1.Caption := '请修改数据后重新生成报表,再提交值长审核。';
      Panel1.Visible := true;
    end;
  end
  else
  //还没有今天的报表记录
  begin

    Panel1.Caption := '报表还没有生成,请抄表。';
    Panel1.Visible := true;
  end;
end;
回复

使用道具 举报

发表于 2010-6-11 08:49:45 | 显示全部楼层
在数据集OPEN后,设置断点查看下真正执行的SQL语句
TSqlDataSet(dsbMaster.DataSet).DataFetch.CommandText
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-6-11 09:10:03 | 显示全部楼层
TSqlDataSet(dsbMaster.DataSet).DataFetch.CommandText

这个怎么看,我找不到
回复 支持 反对

使用道具 举报

发表于 2010-6-11 09:36:00 | 显示全部楼层
调试的时候断点设置在数据集打开以后,然后使用ctrl+F7看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-6-11 11:31:56 | 显示全部楼层

[请求]

好像没啥东西

未命名.jpg

141.41 KB, 下载次数: 277

回复 支持 反对

使用道具 举报

发表于 2010-6-11 11:38:41 | 显示全部楼层
输入类似3楼的内容看看查询出的sql。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-6-11 11:43:30 | 显示全部楼层

[请求]

空字符串哦

未命名.jpg

115.38 KB, 下载次数: 282

回复 支持 反对

使用道具 举报

发表于 2010-6-11 11:52:29 | 显示全部楼层
CommandText里是空的,自然就取不到任何数据,里面应该是有SQL语句的

查一下代码为什么没能给CommandText赋上值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-6-11 11:56:11 | 显示全部楼层
代码的跟另外一个程序一样。另外一个都可以看到,这个弄不明白怎么回事,可以远程帮忙看下吗?
回复 支持 反对

使用道具 举报

发表于 2010-6-11 13:09:12 | 显示全部楼层
你看你表达式里面写的dsbMaster,应该是dbssource吧?
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 01:27 , Processed in 0.050151 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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