Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.02;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.03 c
1-1812
ТУПОЙ
2002-12-19 18:23
2003.01.02
Application Events


1-1815
Djon007
2002-12-19 23:03
2003.01.02
нужна помощь!!!!!!!!!


1-1782
MasterA
2002-12-20 11:48
2003.01.02
Как из строки получить функцию


4-1936
Фукс
2002-11-16 13:00
2003.01.02
кто знает как отформатировать дискету?


1-1805
race1
2002-12-20 08:33
2003.01.02
image in file





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский