目前用的就是这个办法,var a1,a2,a3,a4,a5:string; my_Comb:TStringList; i:integer;begin ADOQuery1.Active:=True;ADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Text:= ' select top 5 概率 from zq0304ies ' +' where ID ="195465" order by 概率 desc' ; ADOQuery1.Open; my_Comb:=TStringList.Create; my_Comb.Clear; for i := 0 to ADOQuery1.recordcount - 1 do begin my_Comb.Add( ADOQuery1.fieldbyname('概率).AsString); ADOQuery1.next; end; // ADOQuery1.close; a1:=my_Comb.Strings[0]; a2:=my_Comb.Strings[1]; a3:=my_Comb.Strings[2]; a4:=my_Comb.Strings[3]; a5:=my_Comb.Strings[4]; my_Comb.Free; showmessage(a1+a2+a3+a4+a5);end;没有其他的吗?不是可以取adoquery1的第1-n列的第1行值吗?不能取adoquery1的第1-n行的第1列值吗?