![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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-файла, создавай его в двоичном виде и пиши на здоровье. И скорость, и независимость от БДЕ и сторонних компонентов. Ведь тебе не надо индексировать, добавлять к существующей и т.д.