![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование баз [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 файлы, что ли?