Опубликован: 07.04.2008 | Уровень: специалист | Доступ: платный
Лекция 30:

Создание собственной таблицы

< Лекция 29 || Лекция 30: 12 || Лекция 31 >

Теперь переходим на окно DM, выделяем компонент с таблицей и открываем ее, установив Active в True. На главной форме сетка должна отображать данные таблицы, пока еще пустые.

Однако заголовки столбцов не очень привлекательны с точки зрения клиента. Исправим это. Выделите таблицу TBooks, и дважды щелкните по нему. Должно появиться окно редактора полей:

Окно редактора полей компонента Table

Рис. 30.1. Окно редактора полей компонента Table

Теперь щелкните правой кнопкой по этому окну и выберите команду Add all fields (добавить все поля).

Выделяем поле Key1. Оно нам нужно только как счетчик записей, так что пользователю его можно не отображать. Спрячьте его, установив его свойство Visible в False. Поле исчезло с сетки, но не потерялось – оно по-прежнему присутствует в таблице.

Далее выделите поле Avtor. Здесь нас интересуют два свойства: DisplayLabel и DisplayWidth. Первое отвечает за выводимый текст названия колонки, напишите здесь "Автор". Второе отвечает за ширину колонки. Установите 5, так как у нас здесь будут только цифры.

У поля Nazvanie измените выводимый текст на "Название книги".

У поля Exemp измените выводимый текст на "Кол-во экз.".

У поля Cena измените выводимый текст на "Цена".

У поля Date измените выводимый текст на "Дата пост.".

Наконец, поле Prim должно содержать аннотацию к книге, но поскольку это поле типа Memo, то в сетке оно все равно не выйдет. Поэтому спрячьте это поле, также как поле Key1.

Поскольку наше приложение должно еще уметь подставлять фамилию автора книги вместо цифры, нам нужно сделать еще одну таблицу. Снова запустите утилиту Database Desktop. Дальше все, как и в прошлый раз: File – NewTable. Тип таблицы Paradox 7.

Первое поле назовите Key2. В принципе, как именно мы назовем ключ, особой разницы нет, просто мы его так назвали, чтобы не путать с первым ключом. Итак, тип поля – Autoincrement.

Второе поле назовите FIO, тип – Alpha, размер – 30 символов. Больше полей нам не требуется. Конечно, можно было бы сделать отдельные поля на фамилию, на имя и отчество, однако такие усложнения займут больше времени и не добавят новых знаний, так что их не стоит делать в учебной программе.

Нажимаем кнопку "Save as", имя таблице даем avtors, а папку для таблицы – "d:\data". Можно выходить из утилиты, таблица уже существует.

Теперь нам потребуется форма для редактирования авторов, а также еще по одному компоненту Table и DataSource. Вначале бросьте эти компоненты в окно DM. Таблицу переименуйте в TAvtors, а DataSource – в DS2.

Далее, у таблицы в свойстве DatabaseName напишите адрес нашей базы данных – d:\data, а в свойстве TableName выберите таблицу avtors.db.

У компонента DS2 в свойстве DataSet выберите компонент TAvtors.

Теперь приступаем к форме редактирования авторов. Создаем новую форму, переименовываем ее в fAvtors, в свойстве Caption пишем "Авторы", свойство BorderStyle переводим в bsDialog, с помощью File – Use Unit добавляем к форме модуль DM. Теперь сохраняем форму под именем Avtors.

Далее, устанавливаем на форму следующие компоненты:

Label – напишите на ней следующий текст: "Впишите Фамилию И.О. автора:"

Обычный Edit. Очистите у него свойство Text, а в свойстве MaxLength (максимальная длина) укажите 30. Именно такой размер мы указали у поля FIO при проектировании таблицы.

Ниже устанавливаем две кнопки, на которых пишем: "Добавить" и "Удалить текущую запись".

Еще ниже – сетку DBGrid, в свойстве DataSource которой нужно выбрать DS2. Все, приготовления окончены, можно переводить таблицу TAvtors в активное состояние ( Active переводим в True ). У вас должна получиться форма вроде этой:

Внешний вид формы авторов

Рис. 30.2. Внешний вид формы авторов

Кнопку "Добавить" сделайте пока недоступной. Мы будем давать пользователю доступ к ней тогда, когда он что-нибудь введет в поле Edit.

Теперь так же, как мы редактировали названия полей в первой таблице, сделайте это во второй. Поле Key2 прятать не нужно, просто в заголовке столбца укажите "№". А в заголовке второго столбца – "Фамилия И.О.".

Перед тем, как продолжить создание нашего библиотечного каталога, необходимо познакомиться с методами редактирования данных таблицы. Но об этом мы поговорим уже на "Методы редактирования баз данных" .

< Лекция 29 || Лекция 30: 12 || Лекция 31 >
Виктор Пелих
Виктор Пелих

Здравствуйте.
Прохожу курс "Введение в программирование на Delphi"
Добрался до Лекции 29: Введение в базы данных.

Установлена RAD Studio 11.3, у которой отсутствует вкладка BDE и, соответственно, компонент Table,  который обеспечивает доступ к таблице средствами механизма BDE.
Поиск в интернете подсказал 
BDE Installer for RAD Studio, Delphi, C++Builder 10.3 Rio
Подскажите, имеется ли ещё возможность использовать механизм BDE в Delphi11 и если такая возможность есть, как подключить BDE к Delphi11?
С уважением...

 

Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Олег Волков
Олег Волков
Россия, Балаково, МБОУ СОШ 19