- •Содержание
- •4. 5. Контрольные вопросы....................................................................44
- •7. 1. Краткие теоретические сведения..................................................59
- •8. 1. Краткие теоретические сведения...................................................70
- •Введение
- •1. 1. Главное окно
- •2. Лабораторная работа №1 Тема: Ввод и вывод
- •2. 1. Экранная форма (Form)
- •2. 1. 1. Таблица свойств (Form)
- •2. 2. Кнопка (Button)
- •2. 2. 1. Таблица свойств для Button
- •2. 3. Однострочный редактор (Edit)
- •2. 3. 1. Таблица свойств для Edit
- •2. 4. Контрольные вопросы
- •2. 5. Задания к лабораторной работе
- •3. Лабораторная работа №2 Тема: Программирование алгоритмов линейной структуры
- •3. 1. Классификация типов данных
- •3. 2. Константы
- •“Это начало строки, ” “а это ее продолжение”
- •“Это начало строки, а это ее продолжение”
- •3. 3. Задания к лабораторной работе
- •4. Лабораторная работа №3 Тема: Программирование алгоритмов циклической структуры
- •4. 1. Условный оператор if... Else
- •4. 1. 1. Об условиях в операторе if
- •4. 2. Цикл while
- •4. 3. Цикл do while
- •4. 4. Цикл for
- •4. 5. Контрольные вопросы
- •5. Лабораторная работа №4 Тема: Работа с массивами
- •5. 1. Контрольные вопросы
- •5. 2. Задания к лабораторной работе
- •6. Лабораторная работа №5
- •Изучение утилит Database Desktop (dbd), bd Administrator Использование компонентов tDataModule, tTable, tDataSet
- •6. 1. Краткие теоретические сведения
- •6. 2. Модуль данных
- •6. 3. Доступ к содержимому поля
- •6. 4. Поиск записей
- •6. 5. Фильтры
- •6. 6. Задание
- •6. 7. Ход выполнения работы
- •6. 8. Контрольные вопросы
- •7. Лабораторная работа №6 Тема: Программирование объекта tQuery
- •7. 1. Краткие теоретические сведения
- •7. 2. Задание
- •7. 3. Ход выполнения работы
- •7. 4. Контрольные вопросы
- •8. Лабораторная работа №7 Тема: Создание связей между таблицами
- •8. 1. Краткие теоретические сведения
- •8. 2. Задание
- •8. 3. Ход выполнения работы
- •8. 4. Контрольные вопросы
- •9. Лабораторная работа №8 Тема: Работа с полями
- •9. 1. Краткие теоретические сведения
- •9. 2. Задание
- •9. 3. Ход выполнении работы
- •9. 4. Контрольные вопросы
- •10. Задания к базам данных
6. Лабораторная работа №5
Тема: Создание локальной БД в С++Builder
Изучение утилит Database Desktop (dbd), bd Administrator Использование компонентов tDataModule, tTable, tDataSet
6. 1. Краткие теоретические сведения
BDE (Borland Database Engine) выполняет роль шлюза для всех баз данных, доступ к которым осуществляется с помощью среды C++Builder. BDE обеспечивает прямой доступ к таблицам Paradox, dBase, а также обеспечивает скоростной доступ к базам данных в системах клиент-сервер.
При работе с таблицами локальных БД ( в число которых входят таблицы СУБД Paradox и dBase) сама база данных размещается в каталоге на диске и хранится в виде набора файлов. Для хранения одной таблицы используется отдельный файл. Такие же отдельные файлы создаются для хранения индексов таблицы и мемо-полей. Обращение к БД из утилит и программы осуществляется по псевдониму базы данных. Псевдоним должен быть зарегистрирован в файле конфигурации конкретного компьютера при помощи утилиты BDE Administrator [1].
6. 2. Модуль данных
Чтобы не перегружать окно формы служебными пиктограммами, в состав C++Builder включен компонент TDataModule, который может использоваться для хранения невидимых элементов управления, таких как TTable и TDataSource. Кроме того, компонент TDataModule представляет собой единый источник для хранения бизнес-правил, связанных с конкретной БД, таблицей или набором таблиц.
6. 3. Доступ к содержимому поля
Если требуется прочитать текущее содержимое определенного поля конкретной записи, то можно воспользоваться свойством Fields и функцией FieldByName, например:
S=Table->Fields->Fields[0]->AsString;
Если требуется получить целочисленное значение, то используют свойство AsInteger.
S=Table->FieldByName(“CustNo”)->AsString;
Это поле имеет тип данных Float. Свойство Value объекта TField объявлено как Variant, поэтому оно автоматически выполняет преобразование большинства типов данных.
6. 4. Поиск записей
Чтобы найти определенное значение в наборе данных, можно вызвать один из пяти методов объекта TDataSet: FindKey, FindNearest, SetKey,GotoNearest, GotoKey. Эти процедуры используются для индексированных полей. Для неиндексированных полей используется метод Locate.
6. 5. Фильтры
Осуществить фильтрацию в произвольных полях можно с помощью события OnFilterRecord.
6. 6. Задание
1. Создайте простое клиентское приложение БД (компоненты TTable,TDataSource, TDGid), используя таблицы из примеров C++Builder.
2. Создайте простое клиентское приложение БД с использованием модуля данных.
3. Создайте в клиентском приложении, разработанном в задании №1 четыре кнопки, при нажатии на каждую выводится окно сообщения с текущим значением поля TaxRate. Одна кнопка должна использовать свойство Value, три остальные кнопки инициируют жесткое преобразование с использованием свойств AsString, AsInteger, AsFloat.
4. Создайте простое клиентское приложение, в котором выполняется пошаговый поиск. Самостоятельно изучите другие методы поиска.
5. Для таблицы Country_r создайте приложение, позволяющее устанавливать фильтр по полю Kontinent.
