Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизНе удаляется файл БД! Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c