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

Вниз

1 или 2 млн. записей   Найти похожие ветки 

 
Mister   (2004-07-16 22:32) [0]

Здраствуйте! хотелось бы знать, можно ли как-нибудь дописать в таблицу с 1,5 млн записей не дождавшись загрузки ее допустим в  ADOTable, а то очень долго, к тому же сетка еще время отнимает... база Access 97


 
Anatoly Podgoretsky ©   (2004-07-16 22:42) [1]

Вечером


 
Sergey Masloff   (2004-07-16 23:50) [2]

Anatoly Podgoretsky ©   (16.07.04 22:42) [1]
>Вечером
Да она (ADOTable) еще в обед скажет что память кончилась ;-)


 
Vlad ©   (2004-07-17 00:21) [3]


> Mister   (16.07.04 22:32)  

Можно.
1)На то существует компонент ADOQuery, а так же SQL запросы insert ...
2) Существует понятие серверный курсор, при котором в датасет подгружаются не все данные сразу.


 
Mister   (2004-07-18 20:09) [4]

Vlad, спасибо!


 
Mister   (2004-07-18 20:09) [5]

Удалено модератором


 
злючка   (2004-07-19 00:20) [6]

Удалено модератором
Примечание: Личная переписка


 
Жека ©   (2004-08-03 23:55) [7]

У меня тоже возник вопрос. Есть база из 3900000 записей и мне нужно ее перегнать в формат для другой базы, но когда я начинаю использовать кверю, то память все равно  кончается. Вот как я это делаю:

 AssignFile(f, "D:\Phones 2002\2.txt");
 rewrite(f);
 j:=0;g:=2;k:=0;
   ADOQuery1.Active:=true;
 i:=ADOQuery1.RecordCount;
 //memo1.Text:=inttostr(i);
 p:=0;
 while not ADOQuery1.Eof do
 begin
  if j=50001 then Begin
   j:=0;
   g:=g+1;
   s:="D:\Phones 2002\"+inttostr(g)+".txt";
   ADOQuery1.Close;
   ADOQuery1.SQL.Clear;
   ADOQuery1.SQL.Text:=
   "Select * from base where id BETWEEN "+inttostr(p+1)+
   " and "+inttostr(p+50050);
   ADOQuery1.Open;
   Closefile(f);
   AssignFile(f,s);
   rewrite(f);
  end;
   p:=p+1;
  try
 s1:=" %#%Phone$"+ADOQuery1.Fields[0].Value+"$";
 writeln(f,s1);
 except
 writeln(f," %#%Phone$ $");
 end;
  try
  s1:="no_type$"+inttostr(ADOQuery1.Fields[1].Value)+"$";
  writeln(f,s1);
  except
  writeln(f,"no_type$ $");
 end;
   try
  s1:="Abonent$"+ADOQuery1.Fields[2].Value+"$";
  writeln(f,s1);
  except
  writeln(f,"Abonent$ $");
 end;
 try
  s1:="Address$"+ADOQuery1.Fields[3].Value+"$";
  writeln(f,s1);
  except
  writeln(f,"Address$ $");
 end;
 try
  s1:="Comments$"+ADOQuery1.Fields[4].Value+"$";
  writeln(f,s1);
  except
  writeln(f,"Comments$ $");
 end;
  j:=j+1;k:=k+1;
  ProgressBar1.Position := 100 * k div i;
  ADOQuery1.Next;
 end;
 try  Closefile(f) except  end;
end;

Подскажите пожалуйта, как мне освобождать память при использовании кверя.


 
Johnmen ©   (2004-08-04 00:00) [8]

Жека, ты хорошо понимаешь, ЧТО делает и КАК приведенный тобой кусок кода ?


 
Жека ©   (2004-08-04 00:07) [9]

Жека, ты хорошо понимаешь, ЧТО делает и КАК приведенный тобой кусок кода ?

Честно говоря не особо, но он работает и даже записывает данные из базы в файл (сейчас я работаю с базой менее 200000 записей)


 
Johnmen ©   (2004-08-04 00:14) [10]

Понятно...
см. Vlad ©  (17.07.04 00:21) [3]



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

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

Наверх




Память: 0.49 MB
Время: 0.049 c
14-1092121148
Kurtevich
2004-08-10 10:59
2004.08.29
Помогите! "Косынка" глючит!! :(


3-1091450350
ZHK
2004-08-02 16:39
2004.08.29
Как в реальном времени добавить поля в таблицу?


3-1091520232
}|{yk
2004-08-03 12:03
2004.08.29
Sequences


14-1092054589
gn
2004-08-09 16:29
2004.08.29
В Японии хотят сделать SMS-игру «Ночной дозор»


11-1080025101
user
2004-03-23 09:58
2004.08.29
Вызов 2го модального из 1го модального окна - почему??