![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Освободить таблицу [D7, dBase, FoxPro]
Mva © (2005-01-26 10:36:00)Выполняю команду ADOCommand.Execute, где
ADOCommand1.text:='update Mytable set priz = 0)';
Подсоединение через ADOConnection, где
ConnectionString='Provider=VFPOLEDB.1;Data Source=D:\File_DBF;Password="";Collating Sequence=MACHINE'.
ADOCommand.Execute выполняется, но далее доступ к MyTable закрыт. Что посоветуете?
Mva (2005-01-26 14:19:00) [1]Спасибо всем.Буду выкручиваться.
sniknik (2005-01-26 13:48:00) [2]> Кто запретил ?
провайдер (VisualFoxPro) есть у него такая "особенность", не откроет (удалить извне таблиц нельза) пока не уничтожен обьект (ну тот самы, COM ;о)))
для блокировки достаточно сделать селект к таблице.
так у них "исторически" сложилось ;), связано по моему с тем что таблицы не закрываются с перезапросом а открываются новой области... кто помнит Fox? там можно к открытой таблице вернутся SELECT [1/2/3/(номер области)]
Danilka (2005-01-26 13:44:00) [3][13] Johnmen © (26.01.05 13:29)
Не знаю как в Хальконе, надо или нет делать open, но он пишет что вылетает именно на open, а не на zap. Думаю, что не врет. :)
Danilka (2005-01-26 13:39:00) [4][10] Mva (26.01.05 12:52)
> На MyTab.Open вылетает вышеприведённое сообщение
Если вылетает именно здесь, то значит данная таблица уже кем-то открыта, и открыть в монопольном режиме ее нельзя.
Имеется ввиду таблица, дбф-ка, а не объект MyTab.
Чаще всего, когда спрашивают "почему низзя открыть в монопольном доступе", она уже открыта самой дельфой.. а дальше сам думай. :))
Johnmen (2005-01-26 13:29:00) [5]А ты уверен, что для Zap надо делать Open ? Есть сомнения...:)
Mva (2005-01-26 13:07:00) [6]Прошу прощения,MyTab=MyTable.
MyTable.Zap - метод по обнулению с упаковкой.
Вылетает при выполнении MyTable.open.
Без MyTable.Exclusive:=true не работает MyTable.Zap.
Johnmen (2005-01-26 12:57:00) [7]А с MyTab.Exclusive:=false; вылетает ?
Что такое MyTab.Zap; ?
Mva (2005-01-26 12:52:00) [8]После выполнения в приложении команды ADOCommand.Execute при
определённых программных условиях прихожу к своей процедуре
по упаковке таблицы MyTable при помощи Halcyon компоненты. Делаю следующее:
MyTab.Close;
MyTab.Exclusive:=true;
MyTab.Open;
MyTab.Zap;
MyTab.Close;
MyTab.Exclusive:=False;
На MyTab.Open вылетает вышеприведённое сообщение
Johnmen (2005-01-26 12:28:00) [9]Понятней не стало... Да и грид здесь причем - неясно...
Mva (2005-01-26 11:32:00) [10]Пытаюсь сразу после ADOCommand.Execute открыть таблицу на GRIDe, но
"Access denied to file D:\File_DBF\MyTable.dbf"
Johnmen (2005-01-26 11:19:00) [11]Вот эта фраза но далее доступ к MyTable закрытсовершенно непонятна...
Mva (2005-01-26 11:10:00) [12]Попробую угадать
AdoConnection.IsolationLevel=IlКeadCommitted;
AdoConnection.Mode=cmReadWrite;
Или опять недостаточно?
Johnmen (2005-01-26 10:59:00) [13]Совершенно верно.
Mva (2005-01-26 10:56:00) [14]В первом вопросе не хватает информации для ответа?
Johnmen (2005-01-26 10:52:00) [15]Кто запретил ?
Mva (2005-01-26 10:50:00) [16]Логично.
А чем убрать запрет?
Johnmen (2005-01-26 10:43:00) [17]>Что посоветуете?
Открыть доступ.