Вниз
Скачать: CL | DM;

DBF + DBF = DBF?   Найти похожие ветки 

← →
KOLBOSS   (2008-07-15 17:11) [0]

Большое спасибо Владимиру за прекрасный модуль KOL для Delphi!

Вот поставил себе компонент KOLxBase,
теперь голову себе ломаю.
подскажите кто-небудь как скопировать одну базу в другую.


← →
mdw ©   (2008-07-15 19:18) [1]


> Вот поставил себе компонент KOLxBase,

Он совсем кривой. Лучше вот это: http://www.kolnmck.ru/files/components/db/kolmdvdbf.7z . Это если нужно работать напрямую с DBF.

> теперь голову себе ломаю.подскажите кто-небудь как скопировать
> одну базу в другую.

Читаешь запись из исходного файла, пишешь в результирющий файл. И так пока не пройдешь все записи.:)


← →
speller   (2008-07-16 04:35) [2]

На мускуле я всегда делал дамп базы, потом в дампе менял имя бд и восстанавливал его в новую базу.


← →
KOLBoss   (2008-07-16 09:42) [3]

mdw  Спасибо работает.

Вопросик один, а я правельно зделал или как-то можно по другому?


var
I, J: Integer;
DBF2: TKOLmdvDBF;
begin
   if not DBF.Active then Exit;
   DBF2:= NewmdvDBF("", True);
   DBF2.Active := False;
   DBF2.FileName:= OpenSaveDialog.Filename;
   DBF2.Active := True;
   try
   ProgressBar1.MaxProgress := DBF.RecordCount;
     for i:= 0 to DBF2.RecordCount-1 do begin
     ProgressBar1.Progress := i;
     Form.StatusText[0] := PChar("Кол. Записей " + int2str(i));
     DBF2.CurrentRecord:= i;
     for j:= 0 to DBF2.FieldsCount-1 do begin
       if j = 0 then
       begin
       DBF.Append;
       SetText(j, GetText2(DBF2, j));
       end
       else SetText(j, GetText2(DBF2, j));
     end;
   end;
   DBF.PackDBF;
   //Open(DBF.FileName);
finally
DBF2.Free;
ProgressBar1.Progress := 0;
ShowMessage("Add OK, Reload DBF");
end;


← →
mdw ©   (2008-07-16 11:24) [4]


> Вопросик один, а я правельно зделал или как-то можно по
> другому?

Скорее да, чем нет.:)
А зачем так сложно?

...
DBF2.CurrentRecord:= i;
    DBF.Append;
    for j:= 0 to DBF2.FieldsCount-1 do SetText(j, GetText2(DBF2, j));
......
Наверное стоит еще IsDelete преверять, нафига удаленные записи тянуть?


← →
mdw ©   (2008-07-16 11:28) [5]

Упс. Не дописал....
Тогда и  DBF.PackDBF не нужно будет.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.056 c
11-1195764794
tigra
2007-11-22 23:53
2010.08.27
kol-synapse


15-1266870707
Pavia
2010-02-22 23:31
2010.08.27
Поисковые алгоритмы.


2-1268591153
NBAH1990
2010-03-14 21:25
2010.08.27
Программное выделение области мышью


2-1266841096
darts116
2010-02-22 15:18
2010.08.27
Рисуем в Delphi


2-1273681750
Baks
2010-05-12 20:29
2010.08.27
Как можно удалить запись из середины нетепизированного файла?




   Наверх