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

Вниз

Recordset2DBF   Найти похожие ветки 

 
Andrey V. Zuev   (2002-04-29 20:04) [0]

Возник вопрос: каким образом можно быстро и без бде (ну и универсально) переконвертить recordset в dbf?

Сделал примерно так:

procedure TPromStat2GisFrame.Recordset2DBF;
var ii: word;
begin
OldPromStatData.Storedproc.First;
OldPromStatData.OutputTable.TableName:=fsedit1.Text;
if OldPromStatData.OutputTable.Exists then OldPromStatData.OutputTable.DeleteTable;
With OldPromStatData.OutputTable Do Begin
FieldDefs:=OldPromStatData.Storedproc.FieldDefs;
DatabaseName:="PromStat2GisOut";
TableType:=ttFoxpro;
CreateTable;
Open;

if (OldPromStatData.Storedproc.RecordCount>0) then Pbar2.Max:=OldPromStatData.Storedproc.RecordCount;
while not (OldPromStatData.Storedproc.eof) do begin
Application.ProcessMessages;
Insert;
Edit;
for ii := 0 to OldPromStatData.Storedproc.FieldCount - 1 do Fields[ii]:=OldPromStatData.Storedproc.Fields[ii];
Post;
OldPromStatData.Storedproc.Next;
Pbar2.StepBy(1);
end;
end;
OldPromStatData.Storedproc.Active:=false;
end;

Но это невозможно долго - 1000 записей примерно 2-3 мин.
Да и не надо BDE....


 
Desdechado ©   (2002-04-30 10:44) [1]

Изучи структуру DBF-файла, создавай его в двоичном виде и пиши на здоровье. И скорость, и независимость от БДЕ и сторонних компонентов. Ведь тебе не надо индексировать, добавлять к существующей и т.д.


 
Delirium ©   (2002-04-30 14:59) [2]

У меня на сайте есть модуль ThADO, в нём есть ряд функций для работы с RecordSet-ами, в том числе и RecordSetToDBF



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-88468
Blacgrin
2002-05-17 20:14
2002.05.27
Изминение размера окна


14-88635
lel
2002-04-16 16:36
2002.05.27
Великое событие, СМЕРТЕЛЬНАЯ БИТВА


3-88358
Ura
2002-04-29 14:50
2002.05.27
Сообщение


1-88526
jonik pegas
2002-05-16 09:01
2002.05.27
Создание компонентов из потока


14-88633
Rammish
2002-04-20 12:38
2002.05.27
Skolko vam let?