Главная страница
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.02 c
4-6860
Demn
2003-02-05 12:30
2003.04.03
Explorer, ListView и ListItem


14-6719
blAckweber
2003-03-15 15:45
2003.04.03
Фигня творится с клавиатурой


14-6784
VID
2003-03-17 15:28
2003.04.03
Компонент для работы с Excel


3-6361
Tornado
2003-03-14 08:04
2003.04.03
Что добавить в дистрибутив?


14-6720
i80486
2003-03-07 23:07
2003.04.03
Для тех кто хочет найти работу