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

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

Вопрос по базам данных [D4, dBase, FoxPro]


Vovan ©   (2003-01-28 20:28:00) 

Вопрос следующий:
требуется заблокировать базу (формат DBF) из программы, я пользуюсь командой LockTable - всё работает путём. Теперь вопрос - как ОПРЕДЕЛИТЬ из той же самой программы (но запущенной второй копии) блокированна указанная база или нет. Команды типа DbiIsTablelocked или DbiIsRecordLocked не работают.


MsGuns   (2003-01-28 21:52:00) [1]

Очень просто.

isEditEnable := true;
isTableView := true;
try
Table1.Active := true;
Table1.Active := false;
except
isTableView := false;
exit;
end;
try
if Table1.RecordCount>0 then
Table1.Edit
else
Table1.Append;
Table1.Cancel;
else
isEditEnable := false;
end;


Вообще-то лучше использовать св-во Exclusive. Или для одной таблицы или для всей БД в целом. Lock - старая технология.
Кстати, использование блокировок при редактировании таблы юзером - плохой стиль. Только для программных проверок или ревизий (архивация-разархивация, чистка, реструктурирование и т.д.)


Наверх

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