Вниз
Скачать: CL | DM;

Как узнать сделал-ли запрос UPDATE изменение в базе   Найти похожие ветки 

← →
Dik ©   (2004-11-12 18:02) [0]

Мне нужно изменить значение в одной базе по условию (меняю через UPDATE  запрос) и если изменение прошло, провести изменение в другой базе. При этом одновременно могут эту операцию проделывать несколько клиентов, тоесть запомнить значение до изменения и проверить изменилось ли оно я не могу, потому что его может поменять ктото другой. Есть ли какая нибудь функция или свойство в IBQuery позволяющее узнать результат выполнения запроса. Помогите справиться с этой задачкой


← →
Соловьев ©   (2004-11-12 18:14) [1]

try
Query.ExecSQL;
except
Rollback;
end;
Commit;


← →
Dik ©   (2004-11-12 19:03) [2]

Если по условию запись не найдена то EXCEPT разве будет вызвано ?
По моему в базе просто ничего не изменится и выполнится Commit


← →
Соловьев ©   (2004-11-12 19:05) [3]

Гоню :(

try
Query.ExecSQL;
Commit;
except
Rollback;
end;


← →
Dik ©   (2004-11-13 01:04) [4]

Обясняю проблему точнее, есть запрос типа
IBQUery3.SQL.Add("update sklad set n=1 where n=5");
если нет записи с n=5 то никаких изменений не происходит и при
этом except не срабатывает, а мне надо знать менялось чтото или нет, при этом изменения в это время мог сделать другой клиент


← →
Johnmen ©   (2004-11-13 01:14) [5]

Если что-то ты изменил RowsAffected<>0


← →
Dik ©   (2004-11-13 01:43) [6]

А RowsAffected не станет <>0 при изменении другим клиентом а не моим?


← →
Dik ©   (2004-11-13 01:49) [7]

И вообще у меня RowsAffected всё время -1 не зависимо от изменений, в чём причина?


← →
Dik ©   (2004-11-13 02:07) [8]

Большое спасибо Евгений за подсказку, оказывается всё очень просто, а -1 потому что смотрел после Commit. Проверил работает нормально и на одну проблемку меньше :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
1-1101692605
che
2004-11-29 04:43
2004.12.12
Создание нескольких текстовых файлов


3-1100604655
Stass
2004-11-16 14:30
2004.12.12
Композитный отчет (QR)


14-1101285310
infom
2004-11-24 11:35
2004.12.12
Тут недавно пробегала занимательная задачка, напомните плиз !


10-1070893387
VaS
2003-12-08 17:23
2004.12.12
COM: Падение клиента и сервера


3-1100280907
SergP
2004-11-12 20:35
2004.12.12
Как работать с ADO в режиме ltBatchOptimistic?




   Наверх