Главная страница
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.205 c
2-1269157020
Delphist2
2010-03-21 10:37
2010.08.27
вставка из буфера


15-1266247102
TStas
2010-02-15 18:18
2010.08.27
Программное разраривание


15-1266945132
Ega23
2010-02-23 20:12
2010.08.27
С прздником, мужики!


15-1275683377
Юрий
2010-06-05 00:29
2010.08.27
С днем рождения ! 5 июня 2010 суббота


15-1263850233
Юрий
2010-01-19 00:30
2010.08.27
С днем рождения ! 19 января 2010 вторник