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

Вниз

Такой глуповатеньки вопросик по IBX7.x TIBDataSet   Найти похожие ветки 

 
Rule ©   (2004-11-02 11:13) [0]

допустим я делаю выборку по нескольким таблицам, например
select a.id, a.name, b.id_table1, b.name from
  table1 a, table2 b
  where b.id_table1=a.id

так вот как мне сделать так чтоб модифицировались записи в нескольких таблицах, тоесть вопрос заключается, могу ли я написать в ModifySQL  код, который модифицирует несколько таблиц (в нашем случае 2), если да то как это сделать ??

спасибо всем заранее ...


 
Johnmen ©   (2004-11-02 11:29) [1]

Нет.
Но можно попробовать
1. Указать в добавок UpdateObject.
2. Прописать OnUpdateRecord.


 
Sergey_Masloff   (2004-11-02 11:36) [2]

Или делать в Update вызов ХП и гасить эксепшн который возникнет когда сервер не пришлет весточку что он обновил ровно 1 запись.


 
Rule ©   (2004-11-02 11:43) [3]

Johnmen ©   (02.11.04 11:29) [1]

1. Указать в добавок UpdateObject.
а чего, тогда сразу 2 апдейта выполняется или одик перекрывает другой, а если таблицы не 2 а 6?

OnUpdateRecord
хм-м-м, а не будет ли это тормозится, этож фактически получается обработка на стороне клиента


 
Rule ©   (2004-11-02 11:46) [4]

Sergey_Masloff   (02.11.04 11:36) [2]
чегото не совсем понятно, но в общем принцип понял ... можно действиетльно в модифиSQL  прописать вызов к хранимой процещуре, вот только будет ли там работать  вызов процедуры ?


 
Johnmen ©   (2004-11-02 12:00) [5]

>Rule ©   (02.11.04 11:43) [3]

1. Пробовать надо. А если не 2 а 6, то увы...
2. Какая такая обработка при UPDATE ? Просто запрос.


 
Rule ©   (2004-11-02 12:11) [6]

Johnmen ©   (02.11.04 12:00) [5]
2. Какая такая обработка при UPDATE ? Просто запрос.
я имел ввиду что в TIBDataSet  событие OnUpdate  в нутри него надо писать логическую часть обномления записи по несокльким таблицам ... вот я про что


 
Sergey_Masloff   (2004-11-02 13:48) [7]

Rule ©   (02.11.04 11:46) [4]
>можно действиетльно в модифиSQL  прописать вызов к хранимой >процещуре, вот только будет ли там работать  вызов процедуры ?
Будет но будет вызывать Exception так как при выполнении обычного SQL сервер после выполнения сообщает сколько записей он проапдейтил а компонент проверяет их число - по его мнению оно должно быть ровно 1. 0 или больше 1 вызовет исключение. Именно его нужно перехватить и погасить. Я так делал - кривовато но работает надежно естественно нужно ловить только конкретное исключение.
 Вариант 2 - Вьюха с триггерами. В стародавние времена с этим случались у Интербейса проблемы но сейчас клянутся что все пофиксили.


 
Sergey_Masloff   (2004-11-02 13:56) [8]

Rule ©   (02.11.04 11:46) [4]
>можно действиетльно в модифиSQL  прописать вызов к хранимой >процещуре, вот только будет ли там работать  вызов процедуры ?
Будет но будет вызывать Exception так как при выполнении обычного SQL сервер после выполнения сообщает сколько записей он проапдейтил а компонент проверяет их число - по его мнению оно должно быть ровно 1. 0 или больше 1 вызовет исключение. Именно его нужно перехватить и погасить. Я так делал - кривовато но работает надежно естественно нужно ловить только конкретное исключение.
 Вариант 2 - Вьюха с триггерами. В стародавние времена с этим случались у Интербейса проблемы но сейчас клянутся что все пофиксили.


 
Rule ©   (2004-11-02 14:05) [9]

Sergey_Masloff   (02.11.04 13:56) [8]
хм... действительно хорошая идея по поводу вьюхи, спасибо большое


 
Rule ©   (2004-11-03 11:33) [10]

Все, сделал, у меня в представлении (вьюхе) собраны 6 таблиц и я сделал тригер он апдейт при котором обновляются все таблицы в зависимости от введенных данных и в конце стоит exit  для того чтобы не возникало исключение что вью только для чтения, вот так я решил эту проблемму, спасибо всем кто помогал :)



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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
4-1098102737
Oyster
2004-10-18 16:32
2004.11.28
Отслеживание новых файлов


3-1099475816
Uran
2004-11-03 12:56
2004.11.28
Сортировка в Interbase


1-1100540591
Gear
2004-11-15 20:43
2004.11.28
Триал.


6-1095347411
serg128
2004-09-16 19:10
2004.11.28
Как програмно расшарить(дать полный доступ) папку на компе?


6-1095341263
netter
2004-09-16 17:27
2004.11.28
Подключение/отключение сетевого адаптера под WinXP или Win2000