procedure TForm1.Button2Click(Sender: TObject);
var
  strNew,strOld : string;
begin
  if (ADOQuery1.State in [dsBrowse]) then Exit;
  if (UpperCase(DBGridEh1.SelectedField.FieldName) = 'CurrencyType') then
  begin
    strNew := Trim(VarToStr(DBGridEh1.SelectedField.NewValue));
    strOld := Trim(VarToStr(DBGridEh1.SelectedField.OldValue));
end;
  adoquery1.Post;
end;
为什么STRNEW和STROLD得到的是空值呀,谁能提供相关的资料,高分增给

解决方案 »

  1.   

    关于OLDVALUE和NEWVALUE得用法哪儿有呀》
      

  2.   

    我的ADOQuery用connectstring连数据库,设置了SQL其余什么也没动
      

  3.   

    我的ADOQuery用connectstring连数据库,设置了SQL其余什么也没动
      

  4.   

    CurrencyType',是我写错了,应该是CURRENCYTYPE,改了之后也那样得。SelectedField.NewValue=nil;SelectedField.OldValue=nil
      

  5.   

    你的ADOQuery的设置是怎样的,上面的代码写在何处
      

  6.   

    我用的是TdxMemData控件,好像是不可以得,    dxM_ReceiptFare.Edit;
        strNew := Trim(VarToStr(Value));
    //showmessage(DBGridEhReceipt.SelectedField.FieldName);
        //showmessage(DBGridEhReceipt.SelectedField.Text);
        strOld := Trim(VarToStr(DBGridEhReceipt.SelectedField.Text));
    就可以了事件是在DBGridEhReceiptColumns10UpdateData里写得。