Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: 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 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.038 c
1-1101741313
Ньюбик
2004-11-29 18:15
2004.12.12
Как определить размер textfile?


4-1098688328
VZup
2004-10-25 11:12
2004.12.12
SetWindowText - не отправляется в Edit


3-1100348476
Jiurasd
2004-11-13 15:21
2004.12.12
Не могу изменить таблицу базы данных


4-1098815215
antonioxxx
2004-10-26 22:26
2004.12.12
Две мыши в системе


1-1101640633
serko
2004-11-28 14:17
2004.12.12
DateTimePicker





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