Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Не удаляется файл БД!   Найти похожие ветки 

 
csr   (2003-10-16 17:41) [0]

Помогите плз! Возник трабл с БД. Ситуация: программа в run-time создает базы данных (dBase) и автоматически загружает в грид. Другими словами юзер нажимает кнопку - создается БД (файл сохраняется в поддиректории). Проблема в следующем: как во вермя работы программы УДАЛИТЬ созданные базы? Файлы БД блокируются и не удаляются (файл используюется другим приложением)! Пробовал отключать dataset - безрезультатно. Может кто-нить знает как решить трабл?


 
служивый   (2003-10-16 19:43) [1]

Нельзя удалить открытый файл. Если открывал ты закрой и потом удаляй
если другая программа, соответственно подожди пока она закроет.


 
csr   (2003-10-17 18:12) [2]

Дык я закрывал TDataSet (методом close)! Даже закрывал DataSource - не помогает! Подскажите, КАК закрыть файл, который создался в ран-тайме!


 
csr   (2003-10-19 15:21) [3]

Неужели никто не знает??!!


 
mOOx_ ©   (2003-10-19 16:42) [4]

Ну и чо, закрыл ты наборы данных и что. Я просто dBase and FoxPro не балуюсь. Но почемуто мне думается, что ты еще используешь TDataBase (может его не надо, не знаю). Так вот, если всетаки используешь, то соединение обрывай, а не датасет закрывай.
Успехов.


 
Vorobyev Sergey ©   (2003-10-20 07:45) [5]

Удалить совем в рантайме не получится..
НО

У меня тоже был такой случай, проблема разрешилась чисто случайно..
Использовал создание временных таблиц, потом нужно было удалить и создать новую..
Так вот, если ты сделаешь CREATE TABLE с тем же именем таблицы, то старая удалится и создаться новая, прямо в рантайме..

Может поможет..


 
DenK_vrtz ©   (2003-10-20 08:14) [6]

csr, уверен что один DataSet связан с таблицей, которую хочешь удалить?
А может еще кто эту таблицу использует!

Удалить таблицу - drop table имя_таблицы


 
Vorobyev Sergey ©   (2003-10-20 09:51) [7]


> Удалить таблицу - drop table имя_таблицы

Точно..!! Забыл про это сказать..
Тогда будет все н..!


 
csr   (2003-10-20 20:54) [8]

Спасибо за отклики!!!
2 mOOx_: Я не использую TDataBase.
2 Vorobyev Sergey: Я тоже пробовал CreateTable - действительно создается новая БД вместо прошлой! Однако меня это не устраивает, т.к. остается тем не менее файл БД! А мне его необходимо удалить, т.к. призагрузке программа сканирует директорию, и названия всех .dbf файлов в ней записываются в TTabSet. А уже потом по OnTabSetChange() в ДБГрид загружается соответствующая таблица.
2 DenK_vrtz: Я не использую TQuery, и соответственно SQL запросы. Я вообще не использую ни BDE ни ADO! Есть такой компонент для доступа к данным как TDBF (это типа TTable, но без юнита dbtables, в общем без БДЕ). Но я тем не менее подозреваю, что drop table = tdataset.close !


 
DenK_vrtz ©   (2003-10-21 08:39) [9]

csr [8], я уверен, что неправильно ты подозреваешь tdataset.close - закрывает набор данных, а drop table - удаляет таблицу!
Аналогично tdataset.open - открывает НД, а create table - создает таблицу


 
Anatoly Podgoretsky ©   (2003-10-21 09:13) [10]

И ты только спустя 4 дня смилостивился и решил нам сообщить что же ты конкретно используешь. И свое время не ценишь и чужим бесцеремонно распоряжаешься.


 
csr   (2003-10-22 11:14) [11]

2 DenK_vrtz: Ты прав.
2 Anatoly Podgoretsky: Я пытался создать ф-цию аналогичную DeleteTable в TTable (это и есть drop table). Почти получилось- файл удаляется но с эксэпшеном :(. А вытянуть ф-цию DeleteTable из TTable не могу , т.к. она обращается к БДЕ!



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
4-42216
Morfein
2003-09-18 13:46
2003.11.13
Кнопка на таскбаре


14-41925
muest
2003-10-21 09:52
2003.11.13
Вирус?


1-41385
kavlad
2003-10-30 12:28
2003.11.13
Все (почти) пропало


1-41449
gestern
2003-10-29 12:15
2003.11.13
db


1-41421
Антон.
2003-10-29 15:19
2003.11.13
bpl