Visual Basic 6. Введение в программирование баз данных

Джон Коннэлл Д. Коннелл

Введение

Глава 1. Что такое база данных
Сферы применения
Основные понятия
Хранение информации в офисном шкафу
Получение информации при помощи запросов
Плоские файлы и реляционные базы данных
Составные части реляционной базы данных
Подробнее о реляционных базах данных
Таблица
Biblio.mdb как типичный пример базы данных
Знакомство с данными в базе Biblio.mdb
Индексы
Связи
Связи между таблицами
Выбор необходимого типа связи
Потерянные записи
Нормализация данных
Некоторые итоги
Сводка важнейших терминов
Два главных инструмента - Access и Visual Basic
Причины использования Access
Реляционная база данных Biblio.mdb
Создание нового подкаталога
Составляющие VB-программы для работы с базами данных
Пользовательский интерфейс
Ядро базы данных
Хранилище данных
Описание базы данных Biblio.mdb
Таблицы, записи и поля в Biblio.mdb
Технологии DAO и ADO
Какую технологию выбрать
Проблема многократного использования программных модулей
Универсальность Access и использование ASP
Резюме
Следующий шаг
Упражнения

Глава 2. Мастер объектов данных ActiveX
Элемент управления данными ADO
Набор записей
Мастер форм данных Visual Basic
Что такое расширения
Типы форм для отображения данных
Форма типа MS HFIexGrid
форма типа MS Chart
Разграничение функций Мастера и программиста
Недостатки использования Мастера
Сортировка записей
Сортировка в порядке кода ASCII
Резюме
Чему вы научились
Упражнения

Глава 3. Программирование элемента управления данными
Основные вопросы главы
Элемент управления данными и связанные элементы управления
Внутренние элементы управления
Еще раз о DLL
Внутренний DAO-элемент управления данными
Что такое набор записей
Что такое связанный элемент управления
Связанные элементы управления, поставляемые с Visual Basic
Работа с элементами управления данными
Изменение данных
Источник "знаний" элемента
Отношения родитель/потомок между элементами управления данными
Поле редактирования с шаблоном
Элемент управления данными ADO
Элемент управления данными ADO и связанный элемент DataList
Свойство BoundColumn
Связанный элемент управления Hierarchical FlexGrid
Что общего у всех элементов управления
Резюме
Чему вы научились
Упражнения

Глава 4. Проектирование пользовательского интерфейса для элемента
управления данными
Проектирование пользовательского интерфейса
Форма Visual Basic
Свойства
Что такое событийно-управляемое программирование
Последовательность событий при загрузке формы
Основа элемента управления данными
функции Мастера
Сделайте программу без помощи Мастера
Еще раз о связанных элементах управления
Наборы записей
Массивы элементов управления
Внутреннее устройство элемента управления данными
Свойство BOFAction
Свойство EOFAction
Свойство Connect
Написание кода
Меньше точек - эффективнее работа ссылок
Что такое IntelliSense
Зачем нужен код в обработчике Form_Activate()
Событие Reposition элемента управления данными
Создание привлекательного пользовательского интерфейса
Некоторые усовершенствования
Дальнейшие перспективы
Чему вы научились
Упражнения

Глава 5. Программирование надежного пользовательского интерфейса
Элемент управления данными: да или нет
Построение улучшенного пользовательского интерфейса
Класса
Новое об элементе управления данными
Свойства элемента управления данными
Методы элемента управления данными
Свойства набора данных
Методы набора записей
Понятие машины состояний
Проектирование надежного пользовательского интерфейса
Внимание, проблема!
Усовершенствованная навигация по набору записей
Уровень вложенности
Многократное использование кода
Подготовка кода навигации для пользовательского интерфейса
Подпрограмма navigateButtons
Предотвращение непреднамеренного редактирования записи
Автоматическая блокировка и разблокировка полей ввода
"Интеллектуальные" кнопки
Включение улучшенного интерфейса в программу
Добавление процедуры updateButtons
Установка закладок
Улучшение манипуляции данными в интерфейсе
Добавление записей
Редактирование записей
Сохранение результатов
Удаление записей
Отмена изменений
Добавление ссылки
Инспектор объектов
Резюме
Чему вы научились
Упражнения

Глава 6. Завершающий этап создания пользовательского интерфейса
Внешний вид интерфейса
Выгрузка формы
Обеспечение корректной выгрузки формы
Функция MsgBox
Использование свойства App.EXEName
Ввод данных
Что такое фокус
Выделение нужного поля
Порядок обхода
Свойство TabStop
Использование клавиши Enter
для перехода к следующему элементу
Поиск записи
Включение в проект кодового модуля
Создание обобщенной формы поиска
Способы реализации
Достоинства утилиты API Viewer
Проверка справки по API
Глобальные переменные
Недостатки глобальных переменных
Создание формы Find
Зачем вставлять пустой символ в конец поля
Что такое описатель
Запуск программы
Завершающие штрихи
Контроль данных
Событие Validate
Программирование контроля правильности данных
Заключительные размышления об элементе управления данными
Резюме
Чему вы научились
Упражнения

Глава 7. Построение модуля класса для элемента управления данными
Достоинства программирования для многократного использования
Модули класса
Компоненты многократного использования
Что такое класс
Основы теории ООП
Копирование программы
Планируемые действия
Построение класса в Visual Basic 6.0
Добавление кода в класс
Инкапсуляция данных
Свойства класса
Присвоение значений объектам
Создание свойств, доступных только для чтения или записи
Корректировка свойств
Процедура свойства Let Buttons
Процедура свойства Set dataCtl
Процедура свойства Let dbName
Процедура свойства Set FormName
Процедура свойства Let LabelToUpdate
Процедура свойства Set Progress Bar
Процедура свойства Let RecordSource
Процедура свойства Let Tag
Возможности Конструктора классов
Методы класса dataClass
Добавление кода в методы класса
Копирование и адаптация кода
Анализ проделанной работы
Усовершенствование модуля класса
Построение шаблонов, доступных в любом проекте
Контроль правильности данных
Использование Инспектора объектов
Дальнейшее усовершенствование модуля класса
Форма главный/подчиненный
Резюме
Чему вы научились
Упражнения

Глава 8. Получение информации из базы данных
Краткая история SQL
Запрос информации
Оператор SELECT
Простейший оператор SQL
Создание программы тестирования SQL-запроса.
Выбор из таблицы определенных полей
Фильтрация возвращаемого набора записей
Фраза WHERE
Поиск по части строки - оператор LIKE
Поиск по диапазону - оператор Between
Поиск с помощью оператора IN
Комбинированные условия
Запрос на удаление
Уникальные и неуникальные значения
Упорядочение возвращенного набора записей
Агрегатные функции
Псевдонимы имен колонок
Еще раз о значениях Null
Группировка значений
Группировка с использованием HAVI NG
Соединение таблиц
Внутреннее соединение
Внешнее соединение
Оператор SQL Update
Автоматическое генерирование SQL-запроса
Генератор динамического SQL
Дополнительные возможности SQL
Резюме
Чему вы научились
Упражнения

Глава 9. Проектирование, создание и анализ базы данных
Эмпирическое правило выбора ОАО или ADO
Подключение DAO в Visual Basic 6.0
Персональная адресная книга
Нормализация
Ненормализованные поля адресной книги
Первая нормальная форма - устранение
повторяющихся групп
Вторая нормальная форма - разбиение таблиц
Третья нормальная форма - устранение колонок,
не зависящих от ключа
Создание базы данных
Основные принципы построения индексов
Создание базы данных при помощи ОАО
Файл-сервер на базе ISAM и сервер реляционных баз данных
Объектная модель DAO
Объекты и коллекции
Работа с коллекциями
Получение и использование объектов,
содержащихся в коллекциях
Объекты Database
Соединительные точки
Объекты Recordset
Возмджные варианты открытия набора записей
Анализ mdb-файла при помощи DAO
Резюме
Чему вы научились
Упражнения

Глава 10. Программирование адресной книги
Принципы работы приложения
Вкладки - элемент Microsoft Tab Control
Строка состояния
Поле редактирования с шаблоном
Написание кода
Подробнее о строке состояния
Процедура clearFields
Процедура lockFields
Процедура updateForm
Процедура setUpListView
Адресная книга после инициализации
Процедура popuiateFields
Преобразование дат
Процедура populateListView
Программирование просматриваемого списка
Сортировка просматриваемого списка
Панель инструментов
Контроль ввода данных
Регистрация контакта в базе данных
Усовершенствование панели инструментов
Добавление заметок о звонках для текущего контакта
Регистрация звонков - форма frmCall
Добавление кода
Процедура updatedescriptionCombo
Удаление категории звонка
Добавление новой записи и отмена операции
Вкладка DB Statistic
Работа готового приложения
Чему вы научились
Упражнения

Глава 11. Универсальный доступ к данным при помощи ADO
Истоки технологии ADO
Недостатки DAO
В, поисках данных
Изменчивость - единственное, что остается постоянным
Назад в будущее
Универсальный доступ к данным
Технология ADO как новый способ доступа к данным
Первое знакомство с ActiveX Data Objects
Возможности OLE DB
Свойства ADO-элемента управления данными
Сравнение свойств элементов управления данными DAO и ADO
Объектная модель ADO
Шаг 1 - объект Connection
Шаг 2-открытие набора записей
Программирование с использованием ActiveX Data Objects
Создание нового источника данных
Использование метода Execute объекта Connection
Открытие набора записей
Доступ к схеме базы данных
Исследование типов данных
Исследование ADODB с помощью Инспектора объектов
Получение информации о поставщике данных
Установка ссылок
Новое об объектной модели ADO
Объект Parameter
Что такое курсор
Возможности курсоров при работе c ADO
Типы курсоров
Синтаксис открытия набора записей
Опции строки соединения
Использование транзакций
Транзакции в ADO
Использование транзакций в повседневной практике
Резюме
Чему вы научились
Упражнения

Глава 12. Элементы управления данными ActiveX
Проблемы разработки элементов управления ActiveX
до появления Visual Basic 6.0
Святой Грааль повторного использования
Краткий обзор истории C++ и Visual Basic
Концепция связывания данных
Связывание полей данных с элементами управления
Создание модуля класса myBoundClass
Событие MoveComplete
Процедура MoveNext
Отображение этапов выполнения операции
Программирование формы frmBoundExample
Кодирование обработчика события Form_Load
Информирование пользователя о причинах возникновения
события MoveComplete и состоянии операции
Ограничение выбора для пользователя
Запуск программы
Предварительные итоги
Создание элемента управления данными ActiveX
Фиксирование размера элемента управления
Объявление и инициализация событий
Добавление свойств и методов к элементу управления
Установка свойств для источников записей различных типов
Работа с массивом элементов управления cmdButton
Обновление пользовательского интерфейса
Активация/деактивация кнопок внутри элемента управления
Блокировка/разблокировка связанных элементов управления
без помощи свойства Tag
Свойства пользовательского элемента управления
Страницы свойств - профессиональный штрих
Добавление диалогового окна About
Пиктограмма элемента на панели инструментов
Тестирование программы
Связанное поле ввода
Контроль правильности данных
Новый элемент управления данными ActiveX в действии
Создание дистрибутивного осх-файла
Сведения об элементе управления в реестре
Новый элемент управления DataRepeater
Использование нового инструмента DataRepeater
Установка свойств элемента управления
Специфические атрибуты процедуры
Исследование элемента с помощью Инспектора объектов
Резюме
Чему вы научились
Упражнения

Глава 13. Активные серверные страницы и технология ADO
Активные серверные страницы
Язык гипертекстовой разметки
Первое знакомство с активными серверными страницами
Запуск активных серверных страниц
Установка Personal Web Server на персональном компьютере
Подготовка каталога для размещения примеров
Сценарии ASP и HTML
Составляющие сценария ASP
Ваш первый сценарий ASP
Волшебная сила процента
Запуск первого сценария ASP
Языки сценариев для ASP
Пример сценария ASP с применением ADO
Взаимодействие VBScript и HTML
Простое клиент-серверное приложение
с использованием ADO
Запрос данных от сервера
Код формы запроса
Серверная часть
Реализация устойчивых данных
на стороне клиентов с помощью куков
Создание приложения с устойчивыми данными
Форма login.asp
Страница visitor.asp
Создание базы данных о посетителях
Создание файла visitors.dll


Резюме