![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DB2 и dbExpress [D7, DB2 v.8]
vlbelugin © (2004-04-28 22:01:00)После изменений данных в таблице DB2 любым компонентом
with DataSet1 do begin
close;
CommandText:='update upoln set sost=''-''';
ExecSQL;
end;
dbExpress таблица становится недоступной для других пользователей. Приходится делать
SQLConnection2.Connected:=false;
Это не удобно. Есть ли другой какой способ?
Sandman25+1 (2004-05-21 11:11:00) [1]Пожалуйста. Если идет работа в режиме ANSI, выполняется старт новой транзакции сразу после COMMIT WORK. Поэтому следует писать нечто вроде:
команда 1;
COMMIT WORK
команда 2;
команда 3;
COMMIT WORK;
То есть команда 1 составляет одну транзакцию, а команды 2 и 3 - другую.
И последним оператором всегда должна быть COMMIT WORK, иначе последняя транзакция останется "висящей" и автоматически подтвердится/отменится (в зависимости от настроек) только при отключении от сервера.
vlbelugin (2004-05-20 21:47:00) [2]Спасибо Вы правы завершил трнзакцию и все пошло
Sandman25+1 (2004-04-29 09:39:00) [3]Такое ощущение, что идет транзакция, и она еще не подтверждена, вследствие чего измененные записи (вся таблица, в данном случае) все еще остаются заблокированы. Завершите транзакцию.