Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.03;
Скачать: CL | DM;

Вниз

загрузка приложения   Найти похожие ветки 

 
reticon ©   (2003-03-14 00:21) [0]

Уважаемые мастера!!!
Имеется следующий код:

procedure TForm1.FormCreate(Sender: TObject);
var
n1,n2,n3: integer;
s1,s2,s3: string;
begin
n1:=Random(Form1.ADOTable1.RecordCount);
Form1.ADOTable1.MoveBy(n1);
s1:=Form1.ADOTable1.FieldByName("field1").AsString + #32 +
Form1.ADOTable1.FieldByName("field2").AsString + #32 +
Form1.ADOTable1.FieldByName("field3").AsString;

n2:=Random(Form1.ADOTable1.RecordCount);
Form1.ADOTable1.MoveBy(n2);
s2:=Form1.ADOTable1.FieldByName("field1").AsString + #32 +
Form1.ADOTable1.FieldByName("field2").AsString + #32 +
Form1.ADOTable1.FieldByName("field3").AsString;

n3:=Random(Form1.ADOTable1.RecordCount);
Form1.ADOTable1.MoveBy(n3);
s3:=Form1.ADOTable1.FieldByName("field1").AsString + #32 +
Form1.ADOTable1.FieldByName("field2").AsString + #32 +
Form1.ADOTable1.FieldByName("field3").AsString;

end;


так вот, загрузка приложения (с момента клика по ярлыку до появления формы на экране) длится около 2-х минут!!!
Подскажите пожалуйста, что в этом коде является причиной этого и как этого избежать.

P.S. файл БД - dBASE, содержит 70000 записей


 
Anatoly Podgoretsky ©   (2003-03-14 09:26) [1]

Так оно наверно перечитывает все записи последовательно в зависимости от MOVEBY
рещение сделать поле, пронумеровать, на него индекс и пермещаться по индексу, будет чрезвычайно быстро
И еще есть смысл отказаться от АДО в пользу БДЕ, все равно используется БДЕ (C:\WINDOWS\SYSTEM\MSX BDE40.DLL) через промежуточное звено в виде АДО


 
NickBat ©   (2003-03-14 11:51) [2]

Проше сначала определить три переменные n1, n2, n3. А потом сделать запрос вида:
select field1, field2, field3 from mytable where id in (n1,n2,n3)



Страницы: 1 вся ветка

Текущий архив: 2003.04.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
3-6396
galexis
2003-03-14 13:09
2003.04.03
Как выполнить запрос не зависящий от регистра


6-6641
Jel
2003-02-10 11:24
2003.04.03
Нужно создать виртуальную сетевую карту.


8-6613
ZEE
2002-12-29 22:33
2003.04.03
Рисование любым цветом на DC


14-6691
Карлсон
2003-03-18 22:26
2003.04.03
Flash - память.


14-6767
Delirium^.Tremens
2003-03-14 09:33
2003.04.03
Кровавая мстя