|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.07.2008, 11:34 | #1 |
Регистрация: 14.07.2008
Сообщений: 4
|
Delphi+Paradox
Добрый день!
Нужна помощь специалистов Подскажите пожалуйста, как сделать полное копирование папки с вложенными объектами в нужное мне место и архивацию копии (например, RAR`ом)? А потом, по надобности, обратный процесс: разархивация копии и копирование в изначальное место (откуда была сделана копия) с добавлением изменений (если такие есть) Заранее, спасибо за ответ |
14.07.2008, 17:40 | #2 |
Форумчанин
Регистрация: 15.06.2008
Сообщений: 271
|
Например, так:
Код:
2) Далее идут некоторые команды и ключи для работы с WinRar. Расписывать что они означают не буду, так как, значения всех команд вы можете увидеть в командой строке выполнив следующую команду: с:\progra~1\winrar\rar.exe /? 3) Далее указываем путь, где будет создан и храниться архив 4) Указываем то, что будем архивировать |
16.07.2008, 07:28 | #3 |
Регистрация: 14.07.2008
Сообщений: 4
|
Пасибо, я попробую
А как быть с обратным процессом и обновлением баз? Извиняюсь, конечно, за наглость )) Последний раз редактировалось Any; 16.07.2008 в 10:47. |
16.07.2008, 17:49 | #4 |
Форумчанин
Регистрация: 15.06.2008
Сообщений: 271
|
Аналогично. Только в данном случае вызываем UnRar.
Код:
|
16.07.2008, 18:06 | #5 |
Форумчанин
Регистрация: 15.06.2008
Сообщений: 271
|
А лучше хорошенько разберитесь с командами и ключами WinRar. Там много чего интересного.
Почитать про них вместе с примерами можно в файле rar.txt ( находится в каталоге, где установлен WinRar ). |
17.07.2008, 08:06 | #6 |
Регистрация: 14.07.2008
Сообщений: 4
|
edgy большое вам спасибо, но я разобралась с rar-ом. Проблема вся в обновлении базы...
|
18.07.2008, 07:35 | #7 |
Форумчанин
Регистрация: 15.06.2008
Сообщений: 271
|
Что значит "проблема в обновлении базы"? Я так понял, что у вас есть так называемая "общая" база данных, куда сливается вся информация. Далее вы копируете ее на рабочие места, где забивается какая-то информация. Затем БД (архив) с рабочих мест сливается на комп, где расположена эта "общая" БД. И добавляется информация которая была изменена/добавлена. Я правильно вас понял?
Если все это вы делаете так, как я предположил, то имхо все это лишний геморой. Можно попроще. Например, перейти на архитектуру "клиент-сервер"/"трехзвенка". В этом случае все пользователи работают с одной БД. И у вас нет проблем с обновлением данных. Правда в этом случае вам скорее всего придется забыть про Paradox. Если вы хотите все оставить по-старому, то варианты тоже есть. Но в данном случае придется делать больше ненужных телодвижений . Итак, например, можно сравнивать построчно две таблицы соответственно "общей" БД и изменной пользователем. Если данные какой-либо строки были изменены или какая-то строка не найдена ( добавлена новая или удалена ), то делаете соответствующие изменения в вашей "общей" БД. Есть вариант с добавлением в каждую таблицу логических полей, указывающих на то, что данная строка была изменена. А потом уже в зависимости от того, что в данном логическом поле указано, изменять или не изменять данные в "общей" БД. Так что, что в общем вам выбирать, что для вас лучше подходит. Но, имхо, вариант "клиент-сервер" здесь наилучший вариант. |
21.07.2008, 09:21 | #8 |
Регистрация: 14.07.2008
Сообщений: 4
|
Вы все правильно поняли, но я не могу использовать одну БД... Так как рабочие места находятся в разных уголках города.
И кроме как с Парадоксом я больше ни с чем не работала, а изучать что-то новое совсем нет времени (( Я прошу прощения за наглость, а можно прислать примерный код обновления БД? |
22.07.2008, 07:46 | #9 | |
Форумчанин
Регистрация: 15.06.2008
Сообщений: 271
|
Цитата:
Проблема здесь скорее всего в вашем нежелании уйти от использования БД, которая не приспособлена для решения ваших текущих задач. Было бы правильным грамотно спроектировать архитектуру вашей системы, ну или в крайнем случае использовать СУБД, которая поддерживает репликацию. Здесь много нюансов, чтобы сразу выдать готовое решение. Но тем не менее, давайте попробуем не углубляясь в детали проанализировать вашу ситуацию Итак, имеем 2 БД, одну - главную, и одну пользовательскую. Цель проверить по-таблично пользовательскую БД на наличие изменений данных и сделать соотвествующие изменения в главной БД. Допустим у нас имеются 2 таблицы: назовем их "MainTable" ( одна из таблиц вашей "главной" БД ) и "UserTable" ( та же таблица из пользовательской БД ). Самые элементарное здесь - это проверить на наличие новых и удаленных записей и сделать соответсвующую изменения в главной БД. В принципе это можно сделать запросом: Вставка новых записей: Код:
Код:
Сравнивать поля строк 2-х таблиц можно так ( примерный код, который требует большой доработки ): Код:
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Редактор баз Paradox | Dux | БД в Delphi | 11 | 08.08.2008 23:36 |
Портативность Paradox DB | Veiron | БД в Delphi | 2 | 12.05.2008 19:21 |
Поключение к Paradox | alexfin | БД в Delphi | 3 | 17.02.2008 12:22 |
Таблицы Paradox Help | User77 | Помощь студентам | 2 | 12.02.2008 17:15 |
Работа с БД Paradox | Алёна | БД в Delphi | 1 | 11.03.2007 15:54 |