Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.034 c
9-40770
Sword-Fish
2003-04-21 10:12
2003.11.13
BASS !!!


3-41106
Саня
2003-10-21 07:08
2003.11.13
Скорость открытия таблицы (запроса).


7-42186
Василий
2003-08-28 14:16
2003.11.13
Как получить данные через USB порт


3-40909
Term
2003-10-20 13:00
2003.11.13
Помогите сообразить


1-41134
lucky4me
2003-11-05 07:18
2003.11.13
Регулярные выражения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский