Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.039 c
14-1092367704
Новенький
2004-08-13 07:28
2004.08.29
Ищу компонент


14-1091893299
Knight
2004-08-07 19:41
2004.08.29
Создания образов и восстановления HDD...


4-1089814334
Dmitry
2004-07-14 18:12
2004.08.29
Пароль в dcomcnfg.exe


3-1090002748
Mister
2004-07-16 22:32
2004.08.29
1 или 2 млн. записей


8-1086294454
Дмитрий
2004-06-04 00:27
2004.08.29
Записывающие устройства





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский