Программирование >>  Элементы языков с и с++ 

1 ... 166 167 168 [ 169 ] 170 171 172 ... 200


Установим связь между таблицами с помощью контекстного меню одной из таблиц- щелкнем мышью на таблице Авторы и откроем ее контекстное меню, где выберем опцию Add (добавить). Откроется список подопций, из которого выберем подопцию Relation (отношение, связь) (рис. 12.12). Появится диалоговое окно для установления связи между таблицами (рис. 12.13).

Установление связи мехаду таблицей Авторы и таблицей Книги

% Автор

t КодАетора Фамилия

fH оторыТвЫе,

[в Fi,G tDalaO


► I

1 ConTigure... Out 41 Copy

r-jst-

XI Delete Rename Autosize

PreviewData... Щ View Code M Properties

<3uery.

Relafion.,

* Column

OataSourtM

J fij J lb

i3 {) My77DataSet

В Би6лиотека10а{а5е( - В vp Авторы

. @ КодАетора @Имя

gbj] Фаиилия

□ ijj Книги

[*ы! КодАетора ОбычиоеНазвемие (*ь Издательство

Новая связь меиаду таблицами

Рис. 12.12. Контекстное меню для установления связи между таблицами

Результат показан на рис. 12.14. В окне Data Sources видно, что строка с наименованием Книги попала в подчинение к строке с наименованием Авторы. Вспомним, что эти таблицы не являются таблицами БД, а только и.ч отражением в НД приложения. Действительные таблицы в БД так и останутся независимыми.

Перетащим мышью таблицу Авторы и таблицу Кингн в форму. Но при этом зацепимся за ту строку с названием Книги, которая после наши.х манипуля-по установлению связей оказалась внутри списка строки Авторы. Если рь откомпилировать приложение и запустить его, то получим результат, [показанный на рис. 12.15 (точно такой же, какой мы получали, когда таблицы 1были связаны между собой еще на этапе их проектирования в MS Access).

гНоесли таблицы не связаны внутри БД, можно ли обеспечить их совместную работу в одной форме по вводу данных? Оказывается, что нельзя.




[авторы

: ШШШШШШШШШШЯШШШх!

Cfilumns:

1 key Columns

Foreign Key Columns

КодАатора i

В СодАвтора 1

\ -,-\-

Choose what to create -----------

О Both Relation and Foreign Key Constraint О Foreign Key Constraint Onlv ©Relation Only

Update Rule; * aicad *

Delete Rule: \ct,-i:

Accept/Reject Rite: N7,-11:

□ Njsted Relation

. Здесь выбираются таблицы, между которыми следует установить связь

Здесь выбираются поля, по которым связываются таблицы (надо щелкнуть в поле и появится кнопка для открытия списка noneii)

Здесь задается тип устанавливаемой связи: простая связь, либо связь по внешнему ключу, либо по тому и другому признакам

Рис. 12.13. Окно для установления связи ме>кду таблицами


КооАвтора


в Bn6i MTeKalDale5et -В Аоторы

@ КодАетора

Фапипия

Ut, КодАвтора №1 ОбычиоеНазва * i Jbfl ГодИздания

в Би6лиотека10ага5е1 -В 3 Аоторы

ЙЗЗ КодАетсзра IM

цьД Фаиипия

-В 3 Книги

R Г2 Книги

tt£3 КодАетора

1 ГодЪдания

Таблицы на одном уровне. -Связи ме>кду таблицами нет Таблицы на разных уровнях.

Связь между таблицами есть

9 Ктги в

КодАетора Иня

КодАвтооа ГодИздания

i КодАвтора Фатлия

VS Fil.GftDataO

ui.

Fill,GetDat:aG

ь :::: .

si r>,GetDataO

КодАвтора ОбычноеНамамие ГсИэлания

f GetOata,

Рис. 12.14. Установление связи ме>кду двумя независимыми таблицами



4 5 ЫВ г

fl х- X

КооАвтора

Фамилия

jБелова

2

Павел

Новиков

Ольга

Бабкина

Дарья

Воронова

► 5

Ажа

Крылова

Борис

Пахомов

Николай

Носков

Пантелеймон

Зацепин

КооАвтора

ОбычноеНаэвани Изиательство I Моя семья Свежая мысль


Рис. 12.15. Работа несвязанных таблиц в режиме главный-подчиненный

W1 ► и ) * X а

Код Автора;

1 Обычное Название:

Имя [

1 Издаггельствр. [

Фамилия 1

1 ...Л-;-.........................,...................

Data Sources

d li3 Ij Lfc

Вид переноса таблиц - Details. Совместная работа связанных таблиц

of е

Кое Автора

Дарья

Обычное Название: [Техника Тай-ши Иааатеяьство. [Hij*Haff литератур *

Фамилия Воронова


My77PataSe( 1о? БиблиотекаЮа1а5е1 а jJ Авторы

1 ы1 КолАвтора № Иня {dbij Фамилия

в jj} Книги

Н КолАвтора

[ ьЦ ОбычноеНазвание

[аы1 Издательство

Для кавдого кода автора отражается название его произведения

кнопки навигации по строкам

Рис. 12.16. Работа двух связанных таблиц, когда они перенесены в форму при выбранной опции Details для каждой таблицы

Если посмотрим в h-файл приложения, то увидим, что элементы управляющей линейки с кнопками, обеспечивающие ввод данных, их удааение и т. д., при объявлении формы строятся только для левой таблицы, помещенной в форму. Теперь понятно, почему и при связанных (при проектировании) таблицах одновременная их работа в одной форме не давала результата. Связанность тут ни при чем - просто среда этого не допускает.



1 ... 166 167 168 [ 169 ] 170 171 172 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика