Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование IBQuery. [D7, IB6.x]


Patrick ©   (2003-10-01 14:16:00) 

Решил использовать IBQuery, запрос типа:
SELECT NOTI.NOTIFY_NO, NOTI.DRAFTCODE, NOTI.CHANGEREASON, NOTI.CONSTCODE,
CON.CONSTNAME, NOTI.DATE_ROUGH, NOTI.DATE_TRACE, NOTI.DATE_NOTIFY
FROM NOTIFICATIONS NOTI LEFT OUTER JOIN CONSTRUCTORS CON ON (NOTI.CONSTCODE = CON.CONSTCODE)
WHERE NOTI.DRAFTCODE = "100"
ORDER BY NOTI.NOTIFY_NO ASCENDING

и соответственно решил применить IBUpdateSQL
в разделе Modify
update NOTIFICATIONS
set
NOTIFY_NO = :INOTIFY_NO,
CHANGEREASON = :ICHANGEREASON,
CONSTCODE = :ICONSTCODE,
DATE_ROUGH = :IDATE_ROUGH
where
NOTIFY_NO = :OLD_INOTIFY_NO and
DRAFTCODE = :OLD_IDRAFTCODE

изменять можно все поля, кроме DraftCode,
в принципе работает все замечательно, за одним исключением,
если изменяю поле NOTIFY_NO, то при ApplyUpdates вылезает EIBClientError с сообщением "Updates failed". В чем причина, никак понять не могу, может кто-нибудь подскажет.


Наталия   (2003-10-01 14:38:00) [1]

Причина скорее всего в попытке изменить более чем одну запись.
Попробуй делать обновление не по составному ключу,а по уникальному идентификатору.


Наверх

Титульная страница Поиск, карта сайта Написать письмо