Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-6770
unregistered
2003-03-17 15:57
2003.04.03
int 21h


1-6601
pet
2003-03-22 20:15
2003.04.03
проблема с созданием


1-6455
intell
2003-03-24 09:18
2003.04.03
Как обновить список файлов в FileListBox?


3-6291
Alderman
2003-03-13 13:32
2003.04.03
Как натравить TQuery сразу на два TDataSource?


1-6471
Фагот
2003-03-24 13:17
2003.04.03
Таблица символов




   Наверх