首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请教怎么取得Post前的数据

2012-03-15 
请问如何取得Post前的数据function TfrmEmployee.getData():Stringvari: IntegerText: StringData: Str

请问如何取得Post前的数据
function TfrmEmployee.getData():String;
var
  i: Integer;
  Text: String;
  Data: String;
begin
  for i:=0 to SqlDM.ADOQueryEmployee.FieldCount-1 do
  begin
  Data := SqlDM.ADOQueryEmployee.Fields[i].DisplayText;
  if Text = '' then
  Text := Data
  else
  Text := Text + ',' + Data ;
  end;
  Result := Text;
end;
===================================

OldData := getData();
SqlDM.ADOQueryEmployee.Post;
NewData := getData();

发现修改过的文本框信息OldData和NewData是不同的,
但DBLookupComboBox信息OldData和NewData是相同的,都是Post后的数据。请问如何得到DBLookupComboBox的Post前数据呢?

[解决办法]
在ADOQuery的BeforePost事件中可以得到
OldData:=ADOQuery1.FieldByName('字段名').OldValue;
NewData:=ADOQuery1.FieldByName('字段名').NewValue;
注:OldValue/NewValue都为Variant类型.
可用VarToStr转成string型

热点排行