![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBF + DBF = DBF? [KOL]
KOLBOSS © (2008-07-15 17:11:00)Большое спасибо Владимиру за прекрасный модуль KOL для Delphi!
Вот поставил себе компонент KOLxBase,
теперь голову себе ломаю.
подскажите кто-небудь как скопировать одну базу в другую.
mdw (2008-07-16 11:28:00) [1]Упс. Не дописал....
Тогда и DBF.PackDBF не нужно будет.
mdw (2008-07-16 11:24:00) [2]
> Вопросик один, а я правельно зделал или как-то можно по
> другому?
Скорее да, чем нет.:)
А зачем так сложно?
.........
DBF2.CurrentRecord:= i;
DBF.Append;
for j:= 0 to DBF2.FieldsCount-1 do SetText(j, GetText2(DBF2, j));
Наверное стоит еще IsDelete преверять, нафига удаленные записи тянуть?
KOLBoss (2008-07-16 09:42:00) [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;
speller (2008-07-16 04:35:00) [4]На мускуле я всегда делал дамп базы, потом в дампе менял имя бд и восстанавливал его в новую базу.
mdw (2008-07-15 19:18:00) [5]
> Вот поставил себе компонент KOLxBase,
Он совсем кривой. Лучше вот это: http://www.kolnmck.ru/files/components/db/kolmdvdbf.7z. Это если нужно работать напрямую с DBF.
> теперь голову себе ломаю.подскажите кто-небудь как скопировать
> одну базу в другую.
Читаешь запись из исходного файла, пишешь в результирющий файл. И так пока не пройдешь все записи.:)