> FieldByName. В плюсах он чуть побыстрей. Если запрос очень легкий, но > записей много а мы бежим по всем записям и стучим к полям через > FieldByName... в общем в этом случае то самое "чуть" побыстрей может > сложиться в цифру 30 процентов. Почему бы и нет.
Понятно. Про тозмоза в FieldByName я как-то забыл. Давно уже в больших циклах на автомате вот так вот поступаю: ... var Fld : TIBXSQLVAR; ... IBSQL.ExecQuery; Fld := IBSQL.FieldByName('IdDat'); While not IBSQL.Eof do begin Sum := Sum + Fld.AsXXX; Next; end; Кстати втравился вот, написал тестик: procedure TForm1.Button1Click(Sender: TObject); var Fld : TIBXSQLVAR; i, s : Integer; st, en : Cardinal; begin s := 0; with IBSQL do begin ExecQuery; Fld := FieldByName('Id'); St := GetTickCount; for i := 0 to 1000000 do S := S + Fld.AsInteger; En := GetTickCount; Label1.Caption := IntToStr(En - St); St := GetTickCount; for i := 0 to 1000000 do S := S + Fields[0].AsInteger; En := GetTickCount; Label2.Caption := IntToStr(En - St); St := GetTickCount; for i := 0 to 1000000 do S := S + FieldByName('Id').AsInteger; En := GetTickCount; Label3.Caption := IntToStr(En - St); Close; end; end; Результаты : 1-ый цикл - 94 тика, 2-ой цикл - 141 тик, 3-ий цикл - 4281 тик. With b/r. Gleb. --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---