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

Вниз

Help! Delphi+DOA+Oracle, запрос по нескольким таблицам.   Найти похожие ветки 

 
EvgeniyM   (2002-12-11 11:32) [0]

Наверно, ламерский вопрос, но он меня достал уже. База Oracle, доступ к ней из Delphi через DOA. Есть DataSet, в котором запрос по двум таблицам, например:
select member.*, member.rowid, member_type.type_name
from member, member_type
where member.type_id=member_type.type_id
На него повешен DBGrid. Как сделать так, чтобы при изменении grida обновлялась только основная таблица, а вспомогательная (member_type) не трогалась? Поставить readonly на колонку type_name в gride я не могу, т.к. на нее повешен LookupCombo, изменяющий member.type_id. В результате изменяется поле type_name и вылетает сообщение типа "incorrect filed name". Может я вообще не тем путем иду, тогда как делаются подобные вещи?


 
Sergey13 ©   (2002-12-11 11:52) [1]

2EvgeniyM (11.12.02 11:32)
Не понял. Если в запросе есть member_type.type_name то зачем его еще и на лукап вешать. Тут надо или то или другое, ИМХО. Если хочешь именно с лукапом работать то надо два датасета.

Первый:
select member.*, member.rowid
from member

Второй:
select member_type.type_id,member_type.type_name
from member_type

И к первому ручками добавить лукапное поле со ссылкой на второй.

А вообще, я лукапы не люблю(особенно если справочник здоровый). Лучше такие запросы редактировать не в гриде, а в отдельной форме. Но это мое ИМХО.


 
EvgeniyM   (2002-12-11 12:08) [2]

На самом деле есть у меня, конечно, второй DataSet, на который и повешен lookup. Но мне при изменении lookup нужно изменять поле member.type_id в основном dataset. Я не нашел, как это сделать проще, чем повесить лукап на поле member_type_name и при выборе его изменять значение member.type_id (lookup из компонент InfoPower3000). Я ведь не могу повесить его прямо на поле type_id, потому что тогда в гриде это id и будет отображаться. Может быть, это все проще делается, тогда как?


 
EAlexander ©   (2002-12-11 14:15) [3]

не совсем в тему, но ситуация была подобная :
в гриде редактируется DataSet, но некторые поля в гриде подстановки из справочников и т.п. т.е. их редактируешь, а в БД надо не то, что пользователь ввел, а киод или т.п.
DOA пытался собрать запрос по всем измененным полям - возникала ошибка.
Решилось просто- те поля, которые есть подстановка из справочников делаешь InternalCalc. DOA их пропускает, но грида показывает нормально.



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
3-1764
pilot
2002-12-11 15:41
2003.01.02
Сравнение баз


1-1807
laser
2002-12-20 17:03
2003.01.02
Пацаны ПОМОГИТЕ


6-1846
Weber
2002-11-06 04:10
2003.01.02
программа для админ. доступа к нету...


4-1931
saniok
2002-11-12 12:22
2003.01.02
IE как IWebBrowser


1-1816
Фил
2002-12-20 16:44
2003.01.02
А как удалить файл с атрибутом только для чтения ?