Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2011, 17:05   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Удаление MDB и LDB файла (Access) во время работы программы

Добрый день! Мне во время программы нужно скопировать из каталога mdb файл БД, заменив использующийся программой в данный момент. При подключении к файлу MDB появляется LDB файл, который не дает удалить MDB-шный файл. В программе я отключаюсь от используемого MDB файла, но не могу удалить его, а если копирую такой же файл из каталога, то данные в заменяемом файле остаются и программа работает неправильно. Как удалить такой MDB файл? В программе везде отключабсь от него, но LDB файл так и не исчезает и мешает мне.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 31.10.2011, 17:27   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Запущенную прогу нельзя удалить, но можно переименовать или переместить. Разумеется если не стоят явные блокировки.
psycho-coder вне форума Ответить с цитированием
Старый 31.10.2011, 17:35   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Да явные блокировки не стоят. БД созданна как обычно в access и все. Просто после отключения в программы всех коннектов к этой БД, LDB файл не исчезает. Когда закрываю программу, то он исчезает и я могу удалть файл БД. ХЗ, я перерыл весь код и проверил все участки где идет подключение, все там правильно.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 31.10.2011, 17:44   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

У себя в коде вы наверно не найдете это соединение, скорее всего это компонент держит его на готове, что бы не тратить время на подключение. Ищите что-то вроде FlushConnect или как-то так. В още нужно найти такую функцю которая насильно сбрасывает соединение (flush - сброс, промывка и т.д.)
psycho-coder вне форума Ответить с цитированием
Старый 31.10.2011, 17:48   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если использовать явный ADOConnection, и ADOQuery ссылающиеся на него, то закрытие соединения ADOConnection.Connected:=False удаляет этот файл
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.10.2011, 18:10   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Аватар, да, используются они, но после ADOConnection.Connected:=False этот файл не исчезает :/
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 31.10.2011, 18:27   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А если поискать ADOQuery, в котором не Connection задан, а ConnectionString?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.10.2011, 18:47   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Не, все кверики не имеют строки подключения они настроены на con. Не знаю даже
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 31.10.2011, 18:51   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А файл LDB после отключения от базы тоже не поддается удалению ?
mihali4 вне форума Ответить с цитированием
Старый 31.10.2011, 18:53   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

В том то и дело, что во время вроде как отключения от базы в программе он остается, а после закрытия программы исчезает
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VS 2010 - как поменять текст у кнопки во время работы программы, из .cpp файла? MrRockchip Общие вопросы C/C++ 3 21.02.2011 22:44
ADO.Подключение во время работы программы Jene4ka БД в Delphi 4 13.11.2009 15:04
Время работы программы Magist Компоненты Delphi 5 24.10.2009 20:52
Полное удаление данных из файла в формате *.mdb AleksP Microsoft Office Access 1 07.09.2008 21:24
Создание компонентов во время работы программы Rusl92 Компоненты Delphi 23 05.04.2008 08:38