Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Копирование баз [D4, D5, Paradox]


Demon Ltd ©   (2002-05-15 23:16:00) 

В своей программе для работы с базами типа Paradox мне надо при нажатии
на клавишу (для примера) на F5 чтобы все таблицы, с которыми я работаю
автоматически копировались в специальный каталог. А при повторном нажатии
на F5 чтобы старые записи в старых таблицах переписывались. Если кто-нибудь знает,
как это проделать, подскажите.


VAleksey   (2002-05-17 11:19:00) [1]


> sizmrebi © (17.05.02 09:20)

ага и еще

var PathTable1, PathTable2:string;
...
CopyFile(PChar(PathTable1)),PChar(PathTable1)), FALSE);
...


sizmrebi   (2002-05-17 09:20:00) [2]

Sorry
:
CopyFile("C:\calls.db","D:\PBX\calls.db", FALSE);


sizmrebi   (2002-05-17 09:16:00) [3]

a mojet bit eto prigoditsia:
CopyFile("C:\calls.db","D:\PBX\calls.dbf", FALSE);


EsKor   (2002-05-17 08:19:00) [4]

Eсли работаете с BDE, то есть в Delphi компонент BatchMove. Может переносить в разных режимах данные из одной таблицы БД в другую, причем БД могут быть разные. Например: режим копирования - создается копия указанной таблицы, режим добавления новых записей в существующую таблицу с заменой старых или без оного. Источником данных (откуда перенос) может быть TTable и TQuery, приемником (куда перенос) м.б. только TTable. Если данные переносятся (добавляются) в существующую таблицу, то в источнике и приемнике поля могут иметь разные названия, только желательно, что бы их тип был одинаковым, хотя, если даже тип разный, то BatchMove преобразовывает тип автоматически, если это конечно возможно.
Можно и без BatchMove использовать метод CreateTable компонента Table, или SQL-запрос CREATE TABLE компонента Query. Создать заранее все необходимые пустые таблицы (в спец.каталоге) или по мере необходимости (потом удалять), затем копировать туда данные ваших таблиц и, если нужно, затем обратно. И все это так же с заменой старых записей или без оного. Используя SQL это делается одной строкой типа:
INSERT INTO PdxTable1 SELECT * FROM "<путь если нужно>" PdxTable2
WHERE <условие>


VAleksey   (2002-05-17 06:56:00) [5]

Копируй каталог целиком.
А насчет кода, поройся в конференции по WinAPI. Там где-то есть даже такая процедура процедура.


Anatoly Podgoretsky   (2002-05-16 22:46:00) [6]

Какой копировать, нет в парадоксе никакого кода, только данные


Demon Ltd   (2002-05-16 22:29:00) [7]

Но как копировать, сам код


Desdechado   (2002-05-16 10:24:00) [8]

приложение гарантированно однопользовательское должно быть и БД закрыта перед копированием


Fay   (2002-05-16 02:51:00) [9]

Я знаю!
При нажатии на F5 копируешь 1-й файл, 2-й, и тд.
А потом наоборот !


Demon Ltd   (2002-05-16 02:02:00) [10]

Да, *.db файлы.


galilee   (2002-05-16 00:07:00) [11]

поясни выражение "таблицы, с которыми я работаю
автоматически копировались в специальный каталог"

*.db файлы, что ли?


Наверх

Титульная страница Поиск, карта сайта Написать письмо