Select 业务类别,Case Left(业务类别,2) WHEN '入' Then '付款' WHEN '出' Then '收款' End As 显示的内容 From 表
if adoquery.FileByName('业务类别').asstring = '' then begin
end else beginend;
一般用sql语句吧,不同的数据库有不同的替代函数。case when end是sqlserver的。用程序写等于是浪费了资源(查一遍又比较一遍,效率也不高)。
//(aQry : TQuery;) aQry.AfterOpen := self.FAfterOpen; ==================================== procedure FAfterOpen(DataSet: TDataSet); begin DataSet.FieldByName('业务类别').OnGetText:=FGETText; end;procedure FGETText(Sender: TField; var Text: String; DisplayText: Boolean); begin if Sender.AsString = '入库' then Text := '付款' else if Sender.AsString = '出库' then Text := '收款'; end;这样说明白吗?
'收款' End As 显示的内容 From 表
begin
end
else
beginend;
aQry.AfterOpen := self.FAfterOpen;
====================================
procedure FAfterOpen(DataSet: TDataSet);
begin
DataSet.FieldByName('业务类别').OnGetText:=FGETText;
end;procedure FGETText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if Sender.AsString = '入库' then
Text := '付款'
else if Sender.AsString = '出库' then
Text := '收款';
end;这样说明白吗?