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

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

Параметры транзакции [D7]


Tonich ©   (2008-09-16 15:02:00) 

День добрый.
Народ, подскажите какими должны быть параметры транзакции в следующем случаи...
создается форма(модальная), на ней лежит Query, запрос в котором выбрасывается потом на грид. (парметры транзакции read_committed rec_version nowait). На этой же форме интерфейс позволяет либо добавить либо удалить запись через EditSQL.  так вот надо сделать так что бы после того как отрабатывает  EditSQL (не подтверждая данных, для того что бы их можно было потом отменить в случаи чего...) эти данные отображались в таблице, ну то есть простое перечитываение таблицы..через Query... уже по всякому ставил эти параметры, "грязных" данных так и не видно..


Tonich   (2008-09-16 16:04:00) [1]


> Правильный$Вася   (16.09.08 16:01) [10]


> MsGuns ©   (16.09.08 15:51) [9]

все, понял спасибо )


Правильный$Вася   (2008-09-16 16:01:00) [2]


> что-то я не понял каким образом

открыл датасет
редактируешь в нем данные, пока не надоест - любые записи, без перечитывания с сервера
захотел - сохранил оптом, переоткрыл
испугался - не сохранил оптом, можно не переоткрывать


MsGuns   (2008-09-16 15:51:00) [3]

При данной технологии редактирования (длительное время между началом и завершением процесса правки данных на клиенте и отправке изменений "оптом") управлять кэшем следует не на стороне сервера, подолгу держа открытыми пишущие транзакции,  а на сторооне клиента, используя кэш датасета либо в сетке, не связанной напрямую с БД


Tonich   (2008-09-16 15:50:00) [4]

ну хорошо, есть вариант ыкак разрулить подобную ситуацию?


Поросенок Винни-Пух   (2008-09-16 15:44:00) [5]

ну так нет там этого уровня изоляции


Tonich   (2008-09-16 15:37:00) [6]


> Поросенок Винни-Пух ©   (16.09.08 15:32) [5]

читал...


Tonich   (2008-09-16 15:32:00) [7]


> если все изменения уже можно отправлять из редактируемого
> датасета

что-то я не понял каким образом. Изменения происходят через TEditSQL


Поросенок Винни-Пух   (2008-09-16 15:32:00) [8]

Существует 4 стандартных уровня (ANSI SQL-92) изолированности транзакций:

Dirty Read - "грязное" (или "незафиксирование") чтение. Транзакция может читать не подтверджденные изменения, сделанные в других транзакциях. В IB этот режим не поддерживается. Например, если транзакции A и B стартовали, и поменяли записи, то они обе видят изменения друг друга.


http://www.ibase.ru/devinfo/ibtrans.htm


Правильный$Вася   (2008-09-16 15:22:00) [9]

зачем перечитывать таблицу, если все изменения уже можно отправлять из редактируемого датасета


Tonich   (2008-09-16 15:08:00) [10]

да моя же программа, FireBird 2.0

там происходит типа такого ...


....
     EditSQL.ExecQuery;
....
     Reload;


в Reload; и происходит перечтение таблицы


Правильный$Вася   (2008-09-16 15:05:00) [11]


> "грязных" данных так и не видно

из твоей же программы?
СУБД какая?


Наверх

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