Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Транзакция [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?...

как вариант - вынести логику транзакций на сервер, обернуть это всё в хранимые процедуры... всё же меньше ошибок должно быть...


Наверх

Титульная страница Поиск, карта сайта Написать письмо