Delphi. Урок 8. 7. Используем SQL-запрос для создания таблицы складов(TQuery, select, from, join) |
Автор megabax | ||||||||||||||||
04.11.2009 г. | ||||||||||||||||
Программирование баз данных в Delphi 7: Используем SQL-запрос для создания справочника складов (TQuery, select, from, join)Сегодня мы продолжим создание справочников. На этот раз будет создавать более сложный справочник: "Склады". В отличии от справочника "Товар" он будет связан с другим справочником - "Сотрудники" (employees.db). И так, сначала мы организуем доступ с справочнику сотрудников, аналогично тому, как это мы делали на уроке 8.5.1.- создаем новые событие в TActionList, связываем с меню и туллбаром, в обработчик копируем содержимое обработчика события acWarsList, но в нем открываем файл employees.db. Если вы не знаете где взять пример, скачайте его здесь. Да, и еще, давайте сразу добавим перевод полей на русский язык, перепишем процедуру TfrmStoreForm.FormCreate:
Вот что в итоге у нас должно получиться: А теперь, воспользовавшись знаниями, полученными на уроке 8.1 создадим базу данных stores.db (склады), со следующими полями:
Полученную таблицу заполним чем нибудь, используя Database Desktop. В поле Storeman записываем Id какого нибудь сотрудника (убедимся, что это существующий Id)*: А теперь создаем новую форму. Обзовем ее frmStores. Положим на форму компонент TQuery с закладки BDE, его имя с Query1 исправим на Query: Так же положим на форму TDataSource и TDBGrid*: Свяжем между собой эти компоненты, как мы это делали на уроке 8.2. В компоненте TQuery свойство DatabaseName установим StorePrj. А вот свойство TableName не ищите, его там нет. Вместо него есть свойство SQL. В его поле редактирования имеется кнопочка с тремя точками*: Нажмем на эту кнопку. У нас вылезет диалог редактирования текста. Введем туда вот такой текст:
Это мы создали SQL-запрос, или говоря иными словами, мы написали запрос к базам данным на специальном языке запросов, который называется SQL. Слово select в данном тексте означает создание выборки. Эта команда имеет вот такой синтаксис: select [список полей] from [список таблиц и их соединения] Поля в списке полей перечисляются через запятую. Синтаксис описания поля такой: [Имя таблицы].[Имя поля] AS [Имя поля в выборке] После последнего поля из списка запятая не ставиться. После слова from у нас идет список участвующих в запросе таблиц. в нашем случае их две stores и employees. Они связаны между собой: поле storeman из таблицы stores однозначно соответствует полю id из таблицы employees. Столбцы таблицы stores расположены слева, к ним добавляются столбцы таблицы employees. Это правило в данном SQL запросе описывается так: from stores left join employees on employees.id=stores.storeman А теперь давайте сделаем так, что бы эту форму можно было открыть из программы. Нам всего то осталось создать новый пункт меню, новый Action, кнопочку туллбара и связать их. Это мы уже умеем. И, последний штрих, добавляем в раздел uses основного модуля программы имя модуля формы и пишем обработчик вновь экшена acStoresList:
Все, запускаем программу, и что же мы видим: - А почему поля не по русский? - спросите вы. А это уже будет домашнее задание. Вспомните урок 8.5.2. Скриншоты, помеченные знаком * , являются цитатами и иллюстрациями программного продукта "Delphi", авторское право на который принадлежит "Borland Software Corporation". |
||||||||||||||||
Последнее обновление ( 06.11.2011 г. ) |
« След. | Пред. » |
---|