值没有重复的就好办了.不知道你用的什么数据控件,以ClientDataset为例:procedure TForm1.Button1Click(Sender: TObject); var iLoop : Integer; begin for iLoop := 0 to ClientDataSet1.Fields.Count - 1 do begin if ClientDataSet1.Fields[iLoop].AsString = '06' then ShowMessage(ClientDataSet1.Fields[iLoop].FieldName); end; end;
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin with ClientDataSet1 do begin First; While not Eof do begin For i := 0 to FieldCount-1 do begin if Fields[i].AsString = '06' then begin Showmessage(Fields[i].FieldName); Break; end; end; Next; end end; end;
你可以使用adoquery1.locate('m1', '06', [])
adoquery1.locate('m2', '06', [])
adoquery1.locate('m3', '06', [])
adoquery1.locate('m4', '06', [])
来依此判断,比自己循环可能要慢一些,但比较简单.
var
iLoop : Integer;
begin
for iLoop := 0 to ClientDataSet1.Fields.Count - 1 do
begin
if ClientDataSet1.Fields[iLoop].AsString = '06' then
ShowMessage(ClientDataSet1.Fields[iLoop].FieldName);
end;
end;
var
i: Integer;
begin
with ClientDataSet1 do
begin
First;
While not Eof do
begin
For i := 0 to FieldCount-1 do
begin
if Fields[i].AsString = '06' then
begin
Showmessage(Fields[i].FieldName);
Break;
end;
end;
Next;
end
end;
end;