Вниз
Скачать: CL | DM;

Несколько TIBUpdateSQL   Найти похожие ветки 

 
Pul   (2003-11-26 14:39) [0]

У меня три таблицы в SQL запросе IBQuery: одна master, и две detail. Нужно сделать так, чтобы все поля были редактируемыми.
Кинул три компонента TIBUpdateSQL для каждой таблицы.
Заполнил все SQL у TIBUpdateSQL, и на IBQuery.OnUpdateRecord делаю следующее:
procedure TForm1.IBQuery1UpdateRecord(DataSet: TDataSet;
UpdateKind: TUpdateKind; var UpdateAction: TIBUpdateAction);
begin
IBUpdateSQL1.DataSet := IBQuery1;
IBUpdateSQL1.SetParams(UpdateKind);
IBUpdateSQL1.ExecSQL(UpdateKind);
IBUpdateSQL2.DataSet := IBQuery1;
IBUpdateSQL2.SetParams(UpdateKind);
IBUpdateSQL2.ExecSQL(UpdateKind);
IBUpdateSQL3.DataSet := IBQuery1;
IBUpdateSQL3.SetParams(UpdateKind);
IBUpdateSQL3.ExecSQL(UpdateKind);
UpdateAction := uaApplied;
end;

При выполнении ExecSQL для таблицы с редактируемым полем все нормально, а в других - возникает ошибка "Update failed".
Подскажите как правильно поступать в таких ситуациях.


 
Vemer ©   (2003-11-26 14:45) [1]

А если просто ApplyUpdate для всей троицы вызывать? Можно еще попробовать раздельное редактирование, а потом присоедитять по одной для отлова момента, когда ошибка возникает.
Еще вариант - неправильно ключевое поле(поля) где-то указано в UpdateSQL.


 
Pul   (2003-11-26 14:49) [2]

>Vemer © (26.11.03 14:45) [1]
ApplyUpdates - метод TIBQuery, а он у меня один.
О какой троице идет речь?


 
Pul   (2003-11-26 15:05) [3]

Народ, что никто не сталкивался с этим?
НЕ ВЕРЮ!!!


 
Vemer ©   (2003-11-26 18:47) [4]

Сорри, не совсем въехал в вопрос.
А в UpdateSQL у тебя для всех 3-х таблиц SQL сгенерен правильно(Там выпадающее меню есть с названиями таблиц)?
Возможно ли заменить подчиненные таблицы Lookup-полями, тогда в UpdateSQL 1 таблица будет и все нормально.


 
Zacho ©   (2003-11-26 19:00) [5]


> Pul (26.11.03 15:05) [3]

ВОт я, например, не сталкивался поскольку принципиально не пользуюсь TIBQuery и другим не советую :-)


 
Vemer ©   (2003-11-26 19:13) [6]

TO Zacho>
А можно об альтернативах поподробнее вкратце :)? Нет, правда интересно. Я например недавно перелез с IB_Table на IB_Query, так и не разобравшись с фильтрами :).


 
Zacho ©   (2003-11-26 19:36) [7]


> Vemer © (26.11.03 19:13) [6]

TIBDataSet. И никакие TIBTable и TIBQuery нафиг не нужны, они вообще-то были задуманы в основном для упрощения перевода старых проектов с BDE на IBX, или наоборот, если в будующем предпологается переход на другие компоненты доступа к БД, сходные с BDE.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
1-61996
kosha80
2003-12-08 05:39
2003.12.19
Вот рабочий стол это тот же


6-62188
Vitalik
2003-10-23 11:26
2003.12.19
SendStream


1-62057
go
2003-12-05 17:14
2003.12.19
Вычисления


7-62298
Nikk
2003-10-13 17:55
2003.12.19
Передача через ИК порт


1-62122
smu
2003-12-08 11:38
2003.12.19
Как убрать сигнал при обработке KeyPress клавиши Enter?




   Наверх