Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];




Вниз

Таблицы 


Ольга   (2002-01-22 10:54) [0]

Подскажите пожалуйста, в чем ошибка.
У меня есть таблица Table1. При создании формы у этой таблицы tablename:="Data.dbf", потом при нажатии кнопки меняется значение Tablename:="last.dbf" и он пишет ошибку :
"Table cannot be operend for exclusive use", хотя я сначала закрываю ее, а потом переименовываю.



IronHawk   (2002-01-22 10:56) [1]

Ты не снимаешь с неё "ФОКУС"



Ольга   (2002-01-22 11:00) [2]

А в каком это свойстве?



sudiv   (2002-01-22 11:32) [3]

С кого надо снять ФОКУС ???



Ольга   (2002-01-22 11:33) [4]

с нее - наверное с таблицы...



sudiv   (2002-01-22 11:43) [5]

М-да. Смешно немного, извиняюсь.
Именно в TableName и порядке действий вроде нет ошибки.
Неплохо бы фрагмент кода ?



Desdechado   (2002-01-22 11:44) [6]

есть свойство Exclusive. почитай справку.
коротко: если оно True, то таблицу может открыть только одна программа один раз. никто, пока она открыта, не может больше ее открыть, даже та же самая программа.
поэтому либо сделай False (это даст подключаться к таблице нескольким пользователям/программам одновременно), или гарантируй однопользовательский режим доступа к ней.



sudiv   (2002-01-22 11:45) [7]

М-да. Смешно немного, извиняюсь.
Неплохо бы фрагмент кода
с закрыванием и переименовыванием ?



Ольга   (2002-01-22 11:51) [8]

Table2.close;
Table2.CachedUpdates:=false;
table2.TableName:="Last.dbf";
table2.Exclusive:=false;
Table1.EmptyTable;


И на последней строке он выдает ошибку - см. выше



Ольга   (2002-01-22 11:52) [9]

Exclusive:=false;

У меня с самого начала стоит



gek   (2002-01-22 11:59) [10]

Table2.close;
Table2.CachedUpdates:=false;
table2.TableName:="Last.dbf";
table2.Exclusive:=true; // <<<<<<<<<<<<
Table1.EmptyTable;
table2.Exclusive:=false;

Весь код не будет работать под Delhi IDE т.е. c загруженным Delphi с этой прогой



Ольга   (2002-01-22 12:06) [11]

Извините, не поняла...
почему true и почему не будет работать?



Desdechado   (2002-01-22 12:14) [12]

для очистки таблицы требуется монопольный режим (Exclusive = True)
А в Delphi IDE не будет работать, если в DesignTime таблица уже открыта



panov   (2002-01-22 12:17) [13]

>Ольга (22.01.02 12:06)
table2.Exclusive:=true; означает, что таблица открывается в монопольном режиме для выполнения привилегированных(глобальных) операций, какой в данном случае является EmptyTable.



Ольга   (2002-01-22 12:18) [14]

table2.Exclusive:=true; // <<<<<<<<<<<<
Table1.EmptyTable;
table2.Exclusive:=false;

Очищается другая же таблица



Ольга   (2002-01-22 12:21) [15]

table1 - очищается
Table2 - переименовывается



gek   (2002-01-22 12:23) [16]

Table1 должна быть закрыта и установлен монопольный режим
до очистки таблицы


Table2.close;
Table2.CachedUpdates:=false;
table2.TableName:="Last.dbf";
table2.Exclusive:=false;
Table1.EmptyTable;


>>И на последней строке он выдает ошибку - см. выше
Вот именно




Ольга   (2002-01-22 12:30) [17]

Блин, догнала, спасибо большое...



sudiv   (2002-01-22 15:28) [18]

Ну все ответы перехватили!, а говорят отвечать уже на вопросы не хочется. Ностальгия замучила.
А тут ответить даже не дают. :)))




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.019 c
1-42709           Arkady_B              2002-01-30 09:45  2002.02.14  
Прозрачные компоненты?


6-42816           Knish                 2001-11-24 18:53  2002.02.14  
А как можно сделать, чтоб программа запускалась только на сервере?


6-42821           SemFLY                2001-11-15 02:17  2002.02.14  
Можно ли в приложение сервер ?


3-42699           Ольга                 2002-01-22 14:19  2002.02.14  
У меня есть такая процедура


3-42656           Anton Shestakov       2002-01-19 02:10  2002.02.14  
Внесение в базу данные2