if self.sss.Text<>'' then
    begin
      try
        self.jfsdSDS.Active:=false;
        self.jfsdSDS.DataSet.Params.ParamByName('hwdm').AsString:=hwdm.Text;
        self.jfsdSDS.Active:=true;
      except
        showmessage('此货物单号不存在!');
        self.hwdm.SetFocus;
        exit
      end;      
    end;
但填写的数据不存在时想要出现showmessage,但这样写不出现,怎么样才能扑获到无记录的异常?我用的是simpledateset处理数据库!

解决方案 »

  1.   

    if trim(self.sss.Text)<>'' then //确保不为空!
        begin
          try
            self.jfsdSDS.Active:=false;
            self.jfsdSDS.DataSet.Params.ParamByName('hwdm').AsString:=hwdm.Text;
            self.jfsdSDS.Active:=true;
          except
            if jfsdsds.isempty then 
               begin 
                 showmessage('此货物单号不存在!');
                 self.hwdm.SetFocus;
                 exit; 
               end;  
          end;      
        end;
      

  2.   

    if self.sss.Text<>'' then
        begin
            self.jfsdSDS.Active:=false;
            self.jfsdSDS.DataSet.Params.ParamByName('hwdm').AsString:=hwdm.Text;
            self.jfsdSDS.Active:=true;
            if self.jfsdSDS.recordcount=0 then
            begin
              showmessage('此货物单号不存在!');
              self.hwdm.SetFocus;
              exit;
            end;      
        end;
      

  3.   

    to:sxlufo(飞碟)但是程序不进到except中去,
    如果去掉try……except好用!谢谢!