起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 234|回复: 11

【结】[请求]showmessage问题**

[复制链接]
发表于 2008-11-6 09:15:04 | 显示全部楼层 |阅读模式
showmessage显示提示的信息,能不能动态生成??比如:一个表里信息符合某个条件,然后将符合条件的关键字段,用showmessage提示出来,如果有多条记录就按顺序的罗列在showmessag的提示筐里,这个能实现吗?急。。。。。。。先谢谢了
回复

使用道具 举报

 楼主| 发表于 2008-11-6 10:32:40 | 显示全部楼层
怎么没人啊
回复 支持 反对

使用道具 举报

发表于 2008-11-6 10:34:15 | 显示全部楼层
showmessage显示提示的信息,能不能动态生成??
当然可以


比如:一个表里信息符合某个条件,然后将符合条件的关键字段,用showmessage提示出来,如果有多条记录就按顺序的罗列在showmessag的提示筐里,这个能实现吗?
可以,你自己把值拼成一个字符串在showmessag后面的参数中就可以了。
例如
dialogs.ShowMessage('sss'+#13+#10+'ddd');
这样就显示的效果如图

1.jpg

4.05 KB, 下载次数: 107

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-6 10:38:15 | 显示全部楼层
符合某个条件,用循环语句把他罗列出来,怎么实现?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-6 10:44:08 | 显示全部楼层
显示的信息是一个变量,根据代码的变化而变化的?
回复 支持 反对

使用道具 举报

发表于 2008-11-6 10:45:21 | 显示全部楼层
符合某个条件,
需要发SQL语句,
例如 SELECT *   FROM tableA   WHERE tableA   .ID = '01'
表示从 tableA   表中把 ID 等于 “01”的记录取出来,
如何给数据集代理重新赋SQL语句,参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=25030


用循环语句把他罗列出来
就是循环数据集,
参考http://bbs.justep.com/forum.php?mod=viewthread&tid=24765

另外,楼主,这些都是基本的语法,请楼主抽空跟同事交流交流,多参考delphi 和数据库的帮助吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-6 10:45:34 | 显示全部楼层
这个是还有错,能帮我看下吗?
with qrypd do
  begin
    close;
    commandtext:='select PURCHASEID,state,price from DYE_INMAIN  where state<>''审核'' or price is null and  '
    +'indate>=to_date('+SysUtils.QuotedStr(startdatetime)+',''yyyy-MM-dd HH24:MI:SS'') and  '
    +'indate<to_date('+SysUtils.QuotedStr(enddatetime)+',''yyyy-MM-dd HH24:MI:SS'')  ';
    open;
    first;
    while not eof do
    begin
      str:=str+fieldbyname('purchaseid').AsString;
      next;
    end;
    dialogs.ShowMessage(str);

  end;
回复 支持 反对

使用道具 举报

发表于 2008-11-6 11:16:10 | 显示全部楼层
1、啥错误呢?是执行报错,还是结果不对
2、如果执行报错,是哪句报出来的,如果是给 commandtext  这个赋值报错,那么你把执行的结果放到数据库上执行看看是否通过?如果不通过,参考数据库的SQL语法,在数据库上执行ok后,再放进来,调试运行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-6 11:22:57 | 显示全部楼层
with qrypd do
  begin
    close;
    commandtext:='select distinct a.PURCHASEID from DYE_INMAIN a join dye_indetail b on a.inid=b.inid where a.state<>''审核'' or b.price is null and  '
    +'a.indate>=to_date('+SysUtils.QuotedStr(startdatetime)+',''yyyy-MM-dd HH24:MI:SS'') and  '
    +'a.indate<to_date('+SysUtils.QuotedStr(enddatetime)+',''yyyy-MM-dd HH24:MI:SS'')  ';
    open;
    first;
    while not eof do
    begin
      for i:=0 to qrypd.RecordCount do
      begin
        str:=str+fieldbyname('purchaseid').AsString;
        next;
      end;
    end;
    dialogs.ShowMessage(str);
  end;
我把他改过来了,但是有个问题就是,出来的提示信息一大串的,没有换行或则空格。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-6 11:25:16 | 显示全部楼层
我解决了,谢谢你啊!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-25 23:38 , Processed in 0.040952 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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