VR
Virtual Reality On-line   Журнал
Новости   |     Журнал    |    Хаkер    |     Магазин   |   Проекты
[   Вход    ]
[Kарта сайтa]

[ Download  ]
[  Конкурс  ]
[ Анекдоты  ]
[  Ссылки   ]
[  Реклама  ]
[ Почтальон ]
[ О проекте ]






TopList
Delphi и базы данных.
Навороченный пример часть 2
:
Logo

Я продолжаю улучшать мой пример работы с базой данных. Сегодня в нём тебя ожидает очень много интересного. Примерчик преобразится и станет на много лучше. Сегодня я добавлю в него кардинально новые вещи.
Logo
Рис. 1 DataModule.

Прежде всего я добавил в DataModule два компонента - DataSource и ADOTable дава им имена DataSourceТ и ADOTableТ. ADOTableТ я подвязал к нашей базе и указал таблицу "Справочник городов", и сделал её активной. Ну и само собой связал компоненты DataSourceТ и ADOTableТ, чтобы можно было отображать данные содержимого таблицы. На рисунке 1 ты можешь видеть обновлённое окно DataModule.

Второе действие - я создал окно для редактирования содержимого таблицы "Справочник городов". Название окна я не стал менять, так что его имя Form5. Я создал ворму и бросил на неё только лишь один компонент DBGrid, и подвязал его к таблице ADOTableT. Только не забудь подключить к новой форме модуль Unit2, иначе ты не сможешь подвязать. На рисунке 2 показано окно этой формы.
Logo
Рис. 2 Новое окно.

После этого я вернулся к главной форме. Добавил одну кнопку на панель инструментов, и по её нажатию написал вызов окна редактирования новой таблицы:

procedure TForm1.ToolButton1Click(Sender: TObject);
begin
 Form5.ShowModal;
end;

Едем далее. Я создал ещё одно окно, которое буду использовать для редактирования строк в главной таблицы. Его вид показан на рисунке 3. Я не буду расписывать, как я его сделал, потому что ты и так должен догадаться, мы уже не раз такое проделывали. Если что-то неясно, посмотришь в исходнике.
Logo
Рис. 3 Окно для редактирования.

Единственное, что я хочу объяснить - это поле для редактирования поля "Город". Для него стоит компонент ТDBLookupComboBox. Я установил у него следующие свойства:

  • DataSource = DataModule2.DataSource1.
  • DataField = Город
  • KeyField = Key1
  • ListField = Город
  • ListSource = DataModule2.DataSourceT

Первые два поля указывают на поле "Город" в главной таблицы. Поле ListSource указывает на таблцу "Справочник городов", эта таблица будет использоваться в качестве данных в выпадающем списке. Полем указанном в ListField будет заполнен выпадающий список. Поле указанное в KeyField будет использоватся в качестве связующего. Эти параметры делают следующее. Выпадающий список заполняется данными поля "Город" таблицы "Справочник городов". Когда ты выберешь какое-то поле из выпадающего списка, значение поля указанного в KeyField будет записано в поле указанное в поле DataField.

Вызов этого окна я сделал по двойному щелчку по DBGrid главного окна и по событию AfterInsert главной таблицы. Для создания второго сообщения я выделил компонент ADOTable1 и создал его на закладке Event. Теперь после создания новой строки автоматически будет появлятся созданное мной окно редактирования.

Попробуй запусти пример и посмотри на результат.

 Исходники примера для Delphi 6 забирай здесь


Design by FMk group ©
Copyright©: Horrific aka Флёнов Михаил ©