Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Освободить таблицу [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]

>Что посоветуете?

Открыть доступ.


Наверх

Титульная страница Поиск, карта сайта Написать письмо