不管是打印个什么东西。
首先要保证有数据。数据从什么地方来呢。是从我们的query查询中,那么你得首先要保证query执行成功并且数据查询出来的结果是正确的。___________________________________________________________
[email protected]
nizvoo.myrice.com日后多多交流 共同进步 

解决方案 »

  1.   

    首先验证SQL的有效性,SQL语句写在Q中要正确,(可否看看你的SQL语句)
    然后修改如下:
    QRDBText.dataset:=q;
    QRDBText.datafield:=q.fieldbyname('打折率').FieldName;
      

  2.   

    各位老大我的SQL语句如下:
    q.close;
    q.sql.text;='select 打折率=(case when 能否打折=''能'' then dbo.getdzl(费用ID,'''+xybm+''') when 能否打折=''不能'' then 100 end) from  桑那钥匙费用表 where (处理标志=''转帐'' or 处理标志=''记帐'') and ......';
    q.open;
    QRDBText.dataset:=q;
    QRDBText.datafield:=q.fieldbyname('打折率').FieldName; 
    当我run后发现该行为空,即没有打折率.
    但我将其添加在combobox中却有打折率.
    combobox.text;=q.fieldbyname('打折率').FieldName;
    while not q.eof do
     begin
      combobox.items.add(q.fieldbyname('打折率').FieldName);
      q.next;
     end;
    '打折率'在桑那钥匙费用表中是没有的,是我自己加的.'能否打折'在此表中有该字段.
    我要将'打折率'插入到桑那钥匙费用表中用以下SQL语句行吗?
    q.close;
    q.sql.text:='update 桑那钥匙费用表 (case when  能否打折=''能'' then set 打折率=dbo.getdzl(费用ID,'''+xybm+''') when 能否打折=''不能'' then set 打折率=100 end)
    where (处理标志=''转帐'' or 处理标志=''记帐'') and ......';
    q.execsql;