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

Вниз

Мастера требуется Ваш совет!   Найти похожие ветки 

 
inspirion ©   (2003-10-30 21:37) [0]

Есть Sql запрос который работает на внесение данных в таблицу, где есть 3 FK(foreign key). так вот при выполнение данного запроса первый раз все происходит нормально, но при повторном он начинает ругаться что мол constarin ... lock conflickt.... Похоже что есть вероятность блокировки определенной записи. Но вроде бы транзакция была заоммичена. В чем может быть проблемма?

DogovorData.DogovorTransaction.StartTransaction;
DogovorData.AddDogovorQuery.Close;
DogovorData.AddDogovorQuery.ParamByName("id_client").AsInteger:=id_client;
DogovorData.AddDogovorQuery.ParamByName("id_place").AsInteger:=DogovorData.DogPlQuery.fieldByName("ID_PLACE").AsInteger;
DogovorData.AddDogovorQuery.ParamByName("date_on").AsDate:=StrToDate(FormatDateTime("ddddd",date_on));
DogovorData.AddDogovorQuery.ParamByName("date_sdelki").AsDate:=StrToDate(FormatDateTime("ddddd",DateTimePicker1.Date));
DogovorData.AddDogovorQuery.ParamByName("date_off").AsDate:=StrToDate(FormatDateTime("ddddd",date_off));
DogovorData.AddDogovorQuery.ParamByName("periud").AsInteger:=Trunc(period);
DogovorData.AddDogovorQuery.ParamByName("deistvie").AsInteger:=1;
DogovorData.AddDogovorQuery.ParamByName("type_dog").AsInteger:=sel_td;
DogovorData.AddDogovorQuery.ParamByName("id_pres").AsInteger:=pres_id;
DogovorData.AddDogovorQuery.ParamByName("type_prescur").AsInteger:=type_pres;
DogovorData.AddDogovorQuery.Open;
DogovorData.DogovorTransaction.Commit;


 
Zacho ©   (2003-10-30 22:12) [1]

1.Приведи сам запрос и структуру таблицы.
2. Уверен, что надо DogovorData.AddDogovorQuery.Open; а не DogovorData.AddDogovorQuery.ExecSQL ?
3. DogovorTransaction - точно та транзакция, в контексте к-рой выполняется запрос ?
4. Приведи параметры транзакции.
5. Точно запись не заблокирована другой транзакцией ?


 
Zacho ©   (2003-10-30 22:36) [2]

Да, еще полностью приведи текст сообщения об ошибке.


 
ЮЮ ©   (2003-10-31 03:48) [3]

На DogovorData.AddDogovorQuery.Open; происходит Exeption (надо, естественно, ExecSQL для запроса на вставку) и следущая строка не выполняется, т.е. транзакция не закрывается

И на кой вообще нужна транзакция для вставки одной записи?


 
kaif ©   (2003-10-31 03:53) [4]

Как может быть конфликт в запросе на чтение?



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
1-66009
LinOS
2003-11-10 12:09
2003.11.20
Узнать путь из которого запущено приложение


3-65698
BorH
2003-10-29 21:52
2003.11.20
Организация запроса IBase без DataBase визуальных компонентов


14-66065
NailMan
2003-10-30 12:22
2003.11.20
Посоветуйте хостинг, бесплатный, без излишеств


1-65961
Calm
2003-11-10 18:35
2003.11.20
Как открыть web-страницу в НОВОМ окне


1-65969
Slavik
2003-11-11 03:07
2003.11.20
Куда подевался компонент TQuickReport в D7?