Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.17;
Скачать: CL | DM;

Вниз

Транзакции в MS SQL   Найти похожие ветки 

 
dim- ©   (2004-09-20 00:03) [0]

В форме редактируются данные из нескольких таблиц (связь один к многим), как сделать чтобы в случае нажатия кнопки отмена отменились все исправления в этих таблицах. На IB просто отменяешь транзакцию и все, а как на MS SQL


 
sniknik ©   (2004-09-20 00:50) [1]

можно также. стартуеш транзакцию после отменяеш.
но лучше, по моему, не допускать данные к изменению если еще подтверждений не дано (отмена может быть).
менять данные на клиенте, ставиш тип LockType=ltBatchOptimistic, меняеш что угодно а уже после подтверждения на запись делаеш UpdateBatch (заись изменений). по кнопке отмены придется CancelBatch делать, или перечитать данные без записи. (мало ли там юзер возился может обновить нужно)
а транзакции оставить для обеспечения целостности данных.


 
dim-   (2004-09-20 12:01) [2]

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


 
sniknik ©   (2004-09-20 12:27) [3]

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

блокировка в транзакциях
SET TRANSACTION ISOLATION LEVEL
но до записей оно не "опускается" блокирует датасет.


 
dim-   (2004-09-20 15:14) [4]

по поводу чтения это понятно, но если два оператора полезут в одну накладную?
Если я делаю ADOQwery.Edit, то запись не блокируется и на другой машине тоже можно сделать ADOQwery.Edit



Страницы: 1 вся ветка

Текущий архив: 2004.10.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
6-1092061764
Юрий Ж.
2004-08-09 18:29
2004.10.17
idTCPServer/idTCPClient


3-1095658777
ceval
2004-09-20 09:39
2004.10.17
Подскажите как обьядинить два поля в DBgrid e ?


3-1095851327
Карелин Артем
2004-09-22 15:08
2004.10.17
Использование Midas.dll в Win 2000.


1-1095669998
46_55_41_44
2004-09-20 12:46
2004.10.17
Ошибка при загрузке FastReport из DLL


8-1090673542
Ig
2004-07-24 16:52
2004.10.17
GDI Plus