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

Вниз

Связь мастер-детальный в IB   Найти похожие ветки 

 
Term   (2003-09-28 10:37) [0]

Привет мастера, проясните ответы на некоторые вопросы:
При работе с IB, как правильно организовать связь мастер детальный при вводе данных в базу. С использованием TIBTable и индексов,
или лучше с использованием TIBDataSet с написанием в соответсвующих свойсвах соотв запросов для delete,insert,select и т.д. и в зависимых датасетах в событие OnNewRecord прописать чтобы бралось соотв. значение из мастер-датасета для связующего поля.
Но как я могу понять и первый вариант и второй по сути одинаковы, т.е. пересылается большое количество записей на клиентские компьютер.
Вот я и в раздумье.... как это всё должно быть или я чтото не так понимаю


 
Term   (2003-09-28 11:20) [1]

тишина............у мастеров выходной :))))))))))))


 
Pat ©   (2003-09-28 14:53) [2]

"Мир Interbase" 2-е издание


 
Term   (2003-09-28 14:57) [3]

так я там и смотрел, как организовать енту связь, поэтому у меня и назрел этот вопрос, так как и так и так получается большой запрос, и нехилый трафик.


 
Zacho ©   (2003-09-28 18:18) [4]


> Term (28.09.03 14:57) [3]

Чтобы не было большого траффика - не используй TIBTable, а используй TIBDataSet.


 
Inkotex   (2003-09-28 19:01) [5]

Мне кажется лучше использовать StoredProcedure and IBQuery


 
Zacho ©   (2003-09-28 19:13) [6]


> Inkotex (28.09.03 19:01) [5]

Неа.. Зачем использовать несколько компонентов, если можно обойтись одним TIBDataSet ?


 
Term   (2003-09-29 09:11) [7]

Но для TIBDataSet в свойстве SelectSQL тоже нужно прописать
select * from tableили же если не указать все поля, как я потом сохраню данные, а этот же запрос выполняет и TIBTable......


 
Zacho ©   (2003-09-29 09:34) [8]


> Term (29.09.03 09:11) [7]

Почитай что-нибудь по SQL, в частности - про JOIN


 
Term   (2003-09-29 10:02) [9]

как я понял JOIN это соединение таблиц, т.е. я получу в одном наборе данные из нескольких таблиц, или я чтото не так понимаю... а этот набор будет редактируемым?


 
Term   (2003-09-29 10:41) [10]

select distinct M.NUM, M.FAMIL, C.NUM, C.NAME from MAIN M LEFT JOIN Children C on M.NUM=C.NUM

а как сделать его редактируемым


 
Johnmen ©   (2003-09-29 11:34) [11]

>Term

По-моему, ты нарушаешь Правила поведения в форуме. А именно превращаешь его в "Курс молодого бойца" для отдельной личности.
Лень не дает тебе такого права...
Согласен ?
:)


 
Term   (2003-09-29 11:38) [12]

:((((((
просто у меня много практики написания локальных БД, а клиент-сервер пишу первый раз, и стараюсь разобраться


 
stud ©   (2003-09-29 12:00) [13]

а какая разница? select пишется через Ё??


 
Term   (2003-09-29 12:17) [14]


> а какая разница? select пишется через Ё??

в локальных то в основном через TTable потльзовался


 
Max Zyuzin ©   (2003-09-29 14:01) [15]

>Term (29.09.03 11:38) [12]
Не слушай этого провакатора (Johnmen ©) ;)
В общем при работе с БД ИМХО лучше забыть вообще про TTable и пользоваться TQuery (TIBQuery).
Но для начала, лучше на самом деле почитать какую нить книжку... причем не обязательно про InterBase вообще про SQL...
В твоем варианте придется все делать ручками, самому писать запросы на добавление, удалиение и т.д.


 
Term   (2003-09-29 15:58) [16]


> Max Zyuzin © (29.09.03 14:01) [15]



> В общем при работе с БД ИМХО лучше забыть вообще про TTable
> и пользоваться TQuery (TIBQuery).
> Но для начала, лучше на самом деле почитать какую нить книжку...
> причем не обязательно про InterBase вообще про SQL...
> В твоем варианте придется все делать ручками, самому писать
> запросы на добавление, удалиение и т.д.

я почитал только вот у меня нет чёткого понимания как организовать связь мастер-детальный с помощью TIBQuery,
с TTable, я пользовался индексами, а как делать запросы для добавления с использованием TIBQuery, чтобы соблюдать условия ссылочной целостности, покажите хотя бы один примерчик, и я уже дальше разберусь сам. Просто те книги которые у меня есть показывают в основном использование оператора SELECT для связанных наборов соединение используется JOIN. А как использовать INSERT показанно только для не связанных наборов, вот я и пытаюсь выяснить как это лучше сделать.

вот предположим у меня 2 таблицы
Table1 и Table2
ID1 ID2
NAME1 NAME2

если кому не трудно покажите на примере


 
Johnmen ©   (2003-09-29 16:06) [17]

Все просто. Используй TIBDataSet. Это во-первых.
У него есть св-во DataSource, которое должно указывать на "мастерный" источник. Это во-вторых.
А в третьих, в "детальном" TDataSet"е в SELECT"е добавляешь WHERE fk=:ID
Тогда в этот запрос автоматом будет подставляться значение поля ID из "мастерного" НД.
Все....


 
Term   (2003-09-29 16:14) [18]

всё всем спасибо больше вопросов нет :)))))))



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

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

Наверх




Память: 0.51 MB
Время: 0.016 c
8-65553
rog
2003-06-19 13:14
2003.10.20
RGB цвет в CMYK цвет


3-65345
Relaxxx
2003-09-30 15:22
2003.10.20
Получение имени пользователя который работает с базой Оракл


1-65537
Raduga
2003-10-08 09:15
2003.10.20
Установка Delphi5 под Win2000


3-65350
Term
2003-09-28 10:37
2003.10.20
Связь мастер-детальный в IB


1-65428
Default Printer
2003-10-07 18:42
2003.10.20
Как можно определить принтер установленный по умолчанию в системе