Delphi: SQL As Alias Problem

results: TDataSet;

Problem:

SQLConnection1.Execute('select price as total from tablename', nil, results);
if not results.IsEmpty then
begin
  results.First;
  while not results.Eof do
  begin
    total:=results.FieldByName('total').AsString; // total field not found error!!!
  end;
end;

Solution:

SQLConnection1.Execute('select price as total from tablename', nil, results);
if not results.IsEmpty then
begin
  results.First;
  while not results.Eof do
  begin
    total:=results.Fields[0].AsString;
  end;
end;