![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Транзакция [D7, MSSQL]
Ryser © (2003-10-25 17:08:00)
Подскажите, пожалуйста! вот есть такой текст
Query1.Database.StartTransaction;
try
msql:="insert into spk (name,rayon,agent) values("+
""""+Edit1.Text+""","""+Edit2.TExt+
""","+Edit3.Text+")";
Query1.SQL.Clear;
Query1.SQL.Add(msql);
Query1.Prepared:=True;
Query1.ExecSQL;
Query1.Database.Commit;
except
Query1.Database.RollBack;
end;
В этой форме транзакция работает. В другой форме исключение Access Violation на
Query4.Database.StartTransaction;
прямо сразу.
Может, кто сталкивался?
Val (2003-10-29 11:04:00) [1]
Желательно делать проверку перед стартом транзакции, нет ли уже неявного старта.
ЮЮ (2003-10-29 02:09:00) [2]
>Access Violation прямо сразу на
Query4.Database.StartTransaction;
М.б. просто Query4.Database = nil? АV - это в программе, а не на сервере
XControl (2003-10-28 19:15:00) [3]
обеспечение транзакционности лучше делать на срвере.
во первых там ошибку проще выловить. И вообще,всё что можно сделать на сервере нужно делать на сервере, чем тоньше клиент, тем проще его отладить
Дай код формы, где у тебя поднимается ошибка
wicked (2003-10-25 23:27:00) [4]
хмм... слишком мало информации ты привел...
хотя, если все модификации базы в системе такие простые, зачем использовать StartTransaction/Commit/RollBack?...
как вариант - вынести логику транзакций на сервер, обернуть это всё в хранимые процедуры... всё же меньше ошибок должно быть...