Главная страница
    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.073 c
1-1101658158
dimson301
2004-11-28 19:09
2004.12.12
Error creating form в Design Time


3-1100296583
SergP
2004-11-13 00:56
2004.12.12
Создание таблицы DBASE IV. Что посоветуете использовать?


1-1101541575
Igor_thief
2004-11-27 10:46
2004.12.12
Хинт


6-1096625251
leonidus
2004-10-01 14:07
2004.12.12
Интеграция программы с Оперой


14-1101192856
passlight
2004-11-23 09:54
2004.12.12
Сбойная память : способы использования





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский