在:dm.DCS_SYS_CWKM.CommandText:=’select * from SYS_CWKM where KMDM=’’’+vaule+’’’’;
如果没有查找到,有没有一个返回值!如果有这个值在那里!怎么用if来判断,找到了做一个过程,没找到作另一个过程!谢谢!帮帮忙呀!

解决方案 »

  1. 没有找到就没有返回值,判断用recordset.recordcount判断,0为无返回值,非0为返回的记录数
      

  2. if DCS_SYS_CWKM.IsEmpty then
      showmessage('没有返回值');
      

  3. 楼上的兄弟谢谢你!可是,不行呀!还有我好像发现那条sql的查找语句没有执行!
    我的程序:
    dm.DCS_SYS_CWKM.CommandText:='select * from SYS_CWKM where KMDM='''+vaule+'''';
            dm.DCS_SYS_CWKM.Execute();
            if  dm.DCS_SYS_CWKM.IsEmpty  then
              begin  
              frmcwpz1.Show;
               exit;
              end;
     StringGrid1.Cells[1,row]:=dm.DCS_SYS_CWKM.fieldbyname('KMDM').AsString;
    不管输入什么,都不会执行frmcwpz1.Show;exit;语句!在StringGrid1.Cells[1,row]:=dm.DCS_SYS_CWKM.fieldbyname('KMDM').AsString;中不管怎么样老是把第一条记录复制给StringGrid1.Cells[1,row]!这是怎么回事呀!
      

  4. 不是execute,而是Open,execute不返回数据集
      

  5. 对execute不返回数据集,如果要返回数据集请用Open
      

aliyun

类似问题 »