Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Recordset2DBF [D5, MSSQL, dBase, FoxPro, Paradox]


Andrey V. Zuev ©   (2002-04-29 20:04:00) 

Возник вопрос: каким образом можно быстро и без бде (ну и универсально) переконвертить 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....


Delirium   (2002-04-30 14:59:00) [1]

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


Desdechado   (2002-04-30 10:44:00) [2]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо