Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.045 c
15-1268978113
oldman
2010-03-19 08:55
2010.08.27
Драйвер для Xerox Phaser 3117 под МЕ


15-1270727360
ElenKa
2010-04-08 15:49
2010.08.27
Мастер формул


2-1273340393
User
2010-05-08 21:39
2010.08.27
Edit - поддержка символов


2-1265974282
Егорка
2010-02-12 14:31
2010.08.27
Дерево в памяти + Listview


15-1271968202
Юрий
2010-04-23 00:30
2010.08.27
С днем рождения ! 23 апреля 2010 пятница