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

Вниз

Связь мастер-детальный в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.049 c
14-65582
Zhouck
2003-10-02 13:37
2003.10.20
Кто знает free hosting+PHP+MySQL+FTP


1-65473
shelest
2003-10-08 14:20
2003.10.20
Какие программы используются для организации групповой работы?


4-65676
Anikul
2003-08-11 22:22
2003.10.20
Как взять текст из ДОС-окна


14-65614
Vint
2003-10-01 09:20
2003.10.20
Вчера по НТВ футбол смотрели?


3-65336
Alex
2003-09-29 09:55
2003.10.20
Перенос базы из Access-a в MSSQL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский