|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.02.2013, 15:20 | #1 |
Форумчанин
Регистрация: 21.05.2008
Сообщений: 495
|
Ошибка при добавлении нескольких запросов в транзакцию
Добрый день, проблема такая, есть таблица Оргранизации и есть таблица телефонов этих организаций.
На формачке едит и кнопочка которая позволяет добавлять к организации несоклько телефонов и чтобы не забивать таблицу телефонов данными которые возможно не будут добавлены есть транзакция. Код:
Коммит не делаю специально, чтобы дселат ьего вместе с добавлением других данынх по организации... свойство транзакции РидКомимит read_committed rec_version nowait В чём проблема? |
19.02.2013, 15:26 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
StartTransaction перед циклом добавления
В цикле добавить несколько записей По концу цикла Commit
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
19.02.2013, 15:28 | #3 |
Форумчанин
Регистрация: 21.05.2008
Сообщений: 495
|
Ну т.к. у меня нет цикла, то как вариант при собитии onShow данной формы сойдёт? или это бред?
|
19.02.2013, 15:30 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Так у вас и Commit нет. Скорее всего есть не закрытая транзакция и ошибка вываливается на StartTransaction. И что цикла явного нет не важно. Вы кнопку добавления несколько раз нажали - вот и цикл. Кстати если по кнопке, то лучше каждую запись добавлять в своей транзакции. Иначе одну добавил, пошел лясы точить, а транзакция висит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 19.02.2013 в 15:33. |
19.02.2013, 15:42 | #5 |
Форумчанин
Регистрация: 21.05.2008
Сообщений: 495
|
Commit будит при нажатии кнопки сохранить данные об Организации, а на каждый клик транзакцию думаю ненадо создавать, ведь это будит лишним.
|
19.02.2013, 15:45 | #6 |
Форумчанин
Регистрация: 21.05.2008
Сообщений: 495
|
Да вообщем сделал так, на событие onShow сделал старт транзакции, на кнопке сохранить (всю инфу об организации сделал коммит этой транзакции) всё как я и хотел, спс.
P.S. Или что то не так? |
19.02.2013, 15:47 | #7 |
Форумчанин
Регистрация: 21.05.2008
Сообщений: 495
|
А ешё такой вопрос, передо коммитом я могу сделать ешё апдейт? мне нужно изменить одно из полей перед добавлением в таблицу?
|
19.02.2013, 15:48 | #8 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
||
19.02.2013, 15:57 | #9 |
Форумчанин
Регистрация: 21.05.2008
Сообщений: 495
|
Чем плохо что транзакция будит долгое время не закрыта?
|
19.02.2013, 16:18 | #10 |
Форумчанин
Регистрация: 21.05.2008
Сообщений: 495
|
Так, осознал, признаю, виноват, сейчас буду переделывать, чтобы жизнь транзакции была минимальной. такой вопрос достаточно сделать transaction.Commit чтобы транзакция завершилась, обязательно ли делат ьешё Transaction.Active:=false ?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при добавлении в базу | 622089 | PHP | 3 | 29.02.2012 22:55 |
Ошибка при добавлении записи | Itachi | БД в Delphi | 1 | 10.06.2011 13:30 |
Ошибка при добавлении данных в бд | prizrak1390 | PHP | 3 | 29.07.2010 22:47 |
Ошибка при добавлении данных | Ehha1234 | БД в Delphi | 0 | 19.06.2010 20:33 |
Ошибка при добавлении запроса | KARUSHEV | Помощь студентам | 3 | 27.01.2010 08:45 |