![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Организация транзакции. [D6, 2000]
pathfinder © (2006-01-12 11:30:00)Подскажите пожалуйста корректна ли данная конструкция транзакции и есть ли смысл вручную начинать и заканчивать ее?
adoconnection1.BeginTrans;
try
adoquery2.ExecSQL;
adoconnection1.CommitTrans;
messagedlg('OK', mtinformation, [MBOK], 0);
except
adoconnection1.RollbackTrans;
messagedlg('ERROR', mtError, [mbok], 0);
end;
(adoquery2.sql-"update b31 set b31passw=:PIN where b31p002=:CN")
Заранее спасибо.
Johnmen (2006-01-12 11:42:00) [1]Сообщение об ошибке появится независимо ни от чего, кроме невозможности выполнить запрос.
>а если сделать так:
сделай...:)
pathfinder (2006-01-12 11:37:00) [2]
> Johnmen ©
просто я подумал, что если запрос не выполняется, то появляется сообщение об ошибке, а если транзакция неявная, то нет.
а если сделать так:
try
adoquery2.ExecSQL;
messagedlg('OK', mtinformation, [MBOK], 0);
except
messagedlg('ERROR', mtError, [mbok], 0);
end;
?
Johnmen (2006-01-12 11:34:00) [3]Корректна.
Особого смысла "вручную начинать и заканчивать" нет, ибо запрос один, он либо выполнится, либо нет. (Транзакция стартанёт и закончится неявно).
pathfinder (2006-01-12 11:33:00) [4]p.s.
используемая субд oracle 8