数据集为TADOTable,在DBGrid中录入资料时,怎样写代码才能做到即时检查资料的正确性。比如说有个字段是工号,我想在输入完工号时,马上检测工号的正确性,
如果工号不存在或已离职的,均不接受输入的值且不允许光标从当前单元格离开
(类似PowerBuilder中数据窗口的ItemChanged事件)象这样的问题,在哪个对象的哪个事件中写代码比较方便、高效?

解决方案 »

  1.   

    TADOTabl   工号field  的  Onvalidateprocedure TData_Form.first_checkpart_noValidate(Sender: TField);
    var 
      MatCK_ado:tadoquery;
    begin
      MatCK_ado:=tadoquery.Create(self);
      MatCK_ado.Connection:=mis;
      MatCK_ado.SQL.Text:='select item_no from gbitem where item_no=:itno';
      MatCK_ado.Parameters[0].Value:=trim(sender.Value) ;
      MatCK_ado.Open ;
      if MatCK_ado.RecordCount<>1 then
        begin
          showmessage('&ordf;&laquo;&reg;&AElig;&frac12;s&cedil;&sup1;&iquest;ù&raquo;~&iexcl;A&frac12;&ETH;&not;d&sup1;&iuml;!!!');
          abort;
        end;
    end;