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

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

свойства tIbTransaction [D7, fb2]


Страницы:   1 2

Евгений Р. ©   (2008-08-21 15:09:00) 

Можно ли по активной транзакции определить, используется ли она только для чтения или ею внесены изменения в БД (требуется commit)?


Виталий Панасенко(дом)   (2008-08-21 22:39:00) [21]

> Евгений Р.   (21.08.08 21:26) [11]
>
>

Не надо делать commit после вставки каждой записи, если вы их вставляете больше 10 за один раз
Interbase плохо работает в этом режиме, т.е. вставка будет медленной. Лучше оформить вставки "в пакет" и обрамить их StartTransaction/Commit.
//////
это с твое ссылки...
http://www.cyberguru.ru/database/interbase/interbase-hints.html


Евгений Р.   (2008-08-21 21:26:00) [22]


> MsGuns ©   (21.08.08 20:31) [10]
>
>


> "Коммитить" надо любой пост, что автоматически и делается

а.У tIbDataSet такое не делается, через запрос тоже.
б. "Не надо делать коммит после каждой записи, если это не требуется по смыслу
Это излишне нагружает сервер."  п.7 http://www.cyberguru.ru/database/interbase/interbase-hints.html

уж не знаю кому верить.


> А до того остатки по карточкам не менять.
>

А если операторов много, а товара мало?


MsGuns   (2008-08-21 20:31:00) [23]

"Коммитить" надо любой пост, что автоматически и делается, если асякой фигни не панавыставлять ручками шаловливыми. А вот сам документ должен иметь статус "проведено", который выставлять по команде пользователя когда он введет весь документ. А до того остатки по карточкам не менять.


Сергей М.   (2008-08-21 17:42:00) [24]

Удалено модератором


Евгений Р.   (2008-08-21 17:31:00) [25]


> MsGuns ©   (21.08.08 17:02) [6]


да, если без сеточных редактирований, было бы проще. Но до этого было так на парадоксе. Поэтому пока должно быть так. Ну а при "незатруднении пониманием" не возникает вопросов.


Евгений Р.   (2008-08-21 17:25:00) [26]


>  [3]

под страничкой я подразумеваю дбГрид с датаСетом
данные в грид можно вводить только после ввода заголовка (после post)
после ввода каждой строки в гриде - пост
по окончании вода документа - commit
необходимо делать commit и по ходу ввода  (чтобы забронировать товар), если оператор заснул на половине заказа. Но после commit нужно переоткрыть датасэты.

т.е. если ничего не ввел - комитить не надо. если введены строки - комитить надо по таймеру и при закрытии документа.


MsGuns   (2008-08-21 17:02:00) [27]

Дело в том, что некоторые товарисчи никак не могут отказаться от сеточных редактирований, при этом не затрудняя себя пониманием того, "как это все работает". Отсюда и недоумения


Sergey13   (2008-08-21 16:58:00) [28]

> [4] Сергей М. ©   (21.08.08 16:55)

Я конечно ни разу не реальный пацан и всю жизнь пользуюсь одной (за редким исключением) транзакцией, но таких проблем у меня не встречалось. Вывод - не в количестве дело.


Сергей М.   (2008-08-21 16:55:00) [29]


> Евгений Р.   (21.08.08 16:41) [2]


Видите ли, сэр, все реальные пацаны в своих реальнопацанскихпрогах, как правило, используют минимум ДВЕ транзакции - одну для чтения, другую для модификации. И потому у реальных пацанов такие дурацкие по сути проблемы не возникают ..


Sergey13   (2008-08-21 16:51:00) [30]

> [2] Евгений Р.   (21.08.08 16:41)
> но логичней было бы смотреть за транзакцией.

ИМХО, странная у тебя логика.

> на одной транзакции несколько датасетов(заголовок накладной
> и несколько страничек).

Ну представь, что узер ввел заголовок и ЧАСТЬ "страничек" (или вообще их не вводил). Ты посмотрел - есть незакомиченные данные и закомитил. И что в итоге?


Евгений Р.   (2008-08-21 16:41:00) [31]

делает пользователь.я могу только следить. на одной транзакции несколько датасетов(заголовок накладной и несколько страничек). Могу отслеживать BeforePost для каждого ДатаСета, но логичней было бы смотреть за транзакцией.


DrPass   (2008-08-21 16:15:00) [32]

Нет. А смысл? Разве ты сам не знаешь, чего в своей транзакции делаешь?


Страницы:   1 2

Наверх

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