![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование 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]
Причина скорее всего в попытке изменить более чем одну запись.
Попробуй делать обновление не по составному ключу,а по уникальному идентификатору.