Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Две транзакции


Автор: Pakshin A. S. 18.9.2004, 15:29
Явная транзакция:
Код

DataBase1.StartTransaction;
try
 Table1.Append;
 Table1.FieldByName('asdf').AsString:='asdf';
 Table1.Post;
 DataBase1.Commit;
except
 DataBase1.RoollBack;
end;


Неявная транзакция:
Код

try
 Table1.Append;
 Table1.FieldByName('asdf').AsString:='asdf';
 Table1.Post;
except
 Table1.Cancel;
end;


Есть ли отличие в работе? Можно вместо явной использовать неявную?

Автор: Pakshin A. S. 20.9.2004, 13:17
И ни каких мыслей нет?!

Автор: gray_k 20.9.2004, 15:23
Для компонентов IBX неявную транзакцию нельзя откатить (сделать Rollback). Я думаю, что и тут то же самое.

Автор: <Spawn> 20.9.2004, 16:41
Pakshin A. S. А почему ты решил, что воторой код есть транзакция? Насколько я знаю, то транзакции выполняются на стороне сервера, а данный код ни как на это претендовать не может.

Автор: Pakshin A. S. 20.9.2004, 19:13
Забавно, а в книге это предлагали внести в код пограммы...

Автор: December 20.9.2004, 23:47
Ну, ввести-то можно, только эффект будет разный
Я так понимаю, во втором варианте все заморочки происходят на сторпоне клиента. То есть данные на сервак не отправятся, до тех пор, пока не сделаешь Post

Автор: Kesh 21.9.2004, 00:01
Pakshin A. S. а что за книга?

Автор: Pakshin A. S. 21.9.2004, 16:42
Гофман & Хоменко "Delphi 6" стр. 708

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)