Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Вниз

Как узнать сделал-ли запрос 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 вся ветка

Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.101 c
3-1100087235
MORA
2004-11-10 14:47
2004.12.12
переход на другой сервер БД


1-1101720399
Tria
2004-11-29 12:26
2004.12.12
Taction, TMainMenu в mdi - проекте. Проблемы с Hotkey.


1-1101826657
Павел
2004-11-30 17:57
2004.12.12
Таймер в многопоточном приложение


1-1101563771
AdmeraL.
2004-11-27 16:56
2004.12.12
Dialogs


11-1083856827
RTWolf
2004-05-06 19:20
2004.12.12
Как Baloon-подсказку сделать поверх всех окон?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский