Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: конвертнуть db в dbf  (Прочитано 6109 раз)
0 Пользователей и 1 Гость смотрят эту тему.
serjufa
Гость
« : 25-10-2005 11:12 » 

Появилась задача - конвертнуть db в dbf. Если бы было мало файлов- юзал бы "Database Tour Pro". Проблема в том, что эти файлы разбросаны по папкам разных иерархий и искать и конвертить их надо программно. Ниже привожу код, который все делать, но результат не выводит

var
Form1: TForm1;
TblSource_String, TblDest_String : String;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
WITH tblSource do begin
Active := False;
DatabaseName := 'Auto_Db';
TableType := ttParadox;
TableName := TblSource_String ;
Active := true ;
END;//with

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
tblSource.Active := False;
Close;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
TblDest.TableName := TblDest_String;

with QueryDB2DBF do
begin
Close;
SQL.Clear;
SQL.Add('SELECT *');
SQL.Add('FROM "'+TblSource_String+ '"');
// SQL.Add(String_Line);
Open;
if RecordCount > 0 then
begin
// ПОСЛЕ SQL СОЗДАДИМ /ДОБАВИМ В РЕЗУДЬТИР. БД
if not FileExists(TblDest_String+'.dbf') then
DbiMakePermanent(QueryDB2DBF.Handle,PChar(TblDest_String),True)
else
begin
with BatchMove1 do
begin
Mode := batAppend;
Execute;
end;
end; // if not FileExists(TblDest+'.dbf') then
Close;

end;
end;


end;

procedure TForm1.FormActivate(Sender: TObject);
begin
TblSource_String := 'C:\AUTOWORK\DB\pgor0689.db';
TblDest_String := 'C:\AUTOWORK\DB\pgor0689.dbf';
end;
« Последнее редактирование: 14-12-2007 23:47 от Алексей1153++ » Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 25-10-2005 12:14 » 

Цитата
if not FileExists(TblDest_String+'.dbf') then  //Если выходного файла нет
DbiMakePermanent(QueryDB2DBF.Handle,PChar(TblDest_String),True)  //создадаим его
else //иначе (т.е. если выходной файл был найден)
begin
with BatchMove1 do  //добавим данные из запроса
begin
Mode := batAppend;
Execute;
end;
end; // if not FileExists(TblDest+'.dbf') then Не понял
Close;
Вопрос - зачем здесь Else. Т.е. если выходной файл не найден то создаем и не добавляем, а если найден  то просто добавляем. Так?
« Последнее редактирование: 14-12-2007 23:47 от Алексей1153++ » Записан

С уважением, Oldy.
serjufa
Гость
« Ответ #2 : 26-10-2005 02:41 » new

данный код спокойно работает в др. проге, но там нет нужды конвертить форматы. Смысл такой - сделал выборку в опрде. файл в определен. месте, потом в него добавляем. Если убрать else, то выборка будет некорректной.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines