- •1. Специальные конструкции языка 6
- •Введение
- •Специальные конструкции языка
- •Пользовательские типы данных
- •Типизированные файлы
- •Текстовые файлы
- •Нетипизированные файлы
- •Обработка ошибок
- •Оператор On Error
- •Объект Err
- •Обработка событий мыши и клавиатуры
- •Обработка событий мыши
- •Обработка событий клавиатуры
- •1.5. Элемент управления MaskedEdit
- •Графика
- •Элементы управления для графических изображений
- •Генерация графических изображений (примитивов)
- •Графические методы
- •Координаты элементов управления.
- •Примеры использования графических методов
- •Задания для самостоятельной работы
- •Работа с таймером
- •Анимация графических изображений
- •Основные свойства и методы
- •Примеры создания эффектов анимации
- •Варианты заданий по анимации для самостоятельной работы
- •Стандартные диалоговые окна
- •Работа с базами данных в vb
- •Элемент управления Data
- •Объект Recordset
- •Элемент управления msFlexGrid
- •Элемент управления ms Data Bound Grid
- •Использование языка sql в vb для работы с базами данных
- •Литература
Элемент управления Data
Элемент управления Data [2,3] служит для установления связи между базой данных и другими элементами управления, используемыми для отображения данных из базы данных. Поддерживается связь с базами данных Access, FoxPro, dBase, Paradox (список поддерживаемых связей определяется версией Visual Basic).
Один элемент управления Data позволяет обеспечить доступ к содержимому таблицы или запроса из формы. При этом в данный момент доступ обеспечивается только к одной записи, которая называется текущей (current). В дальнейшем содержимое элемента Data будем называть набором данных.
Кроме общих для всех элементов свойств [4], элемент управления Data обладает следующими специфическими свойствами:
Caption – комментарий.
Connect (подключение) определяет тип (формат данных) используемой базы данных (например, Access, FoxPro, dBase, Paradox и др.).
DatabaseName определяет имя файла базы данных или путь в файловой системе.
EditMode возвращает значение, определяющее состояние редактирования для текущей записи.
Exclusive определяет использование базы данных одним или несколькими пользователями (True - использование одним пользователем, False (по умолчанию) - несколько пользователей).
ReadOnly определяет возможность редактирования отображаемого данного в элементе управления (False (по умолчанию) - редактирование возможно, True - невозможно).
RecordsetType возвращает или устанавливает тип объекта Recordset (будем использовать по умолчанию: 1- Dynaset). Когда используются объекты доступа к данным, то это происходит через объекты Recordset.
Recordset – объект, который представляет запись в основной таблице или запись, которая является результатом выполнения запроса, т.е. содержит требуемые данные.
Замечание: ссылаться на свойства объекта Recordset, создаваемого элементом управления Data, можно только используя одноименное свойство Recordset самого элемента Data. Синтаксис такого определения свойства следующий:
ИмяОбъектаData.Recordset.ИмяСвойства,
определяет некоторое свойство объекта Recordset объекта Data.
RecordSource (источник данных) определяет, откуда извлечь данные. Это может быть имя таблицы, имя готового запроса либо текст запроса на языке SQL.
Основным методом объекта Data является метод Refresh – обновление набора данных;
Элемент Data автоматически инициализируется при запуске приложения.
Если свойства Connect, DatabaseName, RecordSource, Exclusive, ReadOnly и RecordsetType установлены, механизм баз данных Jet создает новый объект Recordset (множество требуемых данных).
Эти данные доступны через свойства объекта Recordset, либо визуальные элементы управления, с помощью которых можно просматривать и изменять текущее содержимое таблицы, помещать в нее новые данные. Такие элементы называются связанными элементами.
Для отображения числовой и символьной информации можно использовать:
текстовые поля TextBox [4], причем каждое текстовое поле отображает одно поле текущей записи таблицы или запроса;
списки MSData Bound List и MSData Bound Combo для отображения информации одного поля нескольких записей сразу (элементы добавляются командой Components из контекстного меню панели элементов);
сетки MSFllexGrid и MSData Bound Grid для отображения множества полей и множества записей (элементы добавляются командой Components из контекстного меню панели элементов).
Окна изображений и рисунков (PictureBox, Image) можно использовать для показа картинок, хранящихся в базе данных. Элемент управления Флажок (CheckBox) [4] используется для данных логического типа.
Для того, чтобы в вышеперечисленных элементах, кроме сетки, отобразилась информация из базы данных, необходимо установить значения следующих свойств, связывающих их с элементом Data:
DataSource – имя элемента Data;
DataField – имя поля таблицы (запроса), заданной (ого) в свойстве RecordSource объекта Data.
Для элементов типа сетка достаточно задать свойство DataSource.
Пример 7.1. Для иллюстрации работы объекта Data будем использовать базу данных, созданную в Access. Она состоит из двух таблиц: «Поставщики» и «Товары на складе» (рис 7.1).
Рис 7.1. Структура базы данных Primer.mdb
И спользуем элемент управления Data для доступа к этой базе данных. Создадим форму (рис. 7.2) с элементом управления Data, с тремя метками и с тремя текстовыми окнами для вывода соответствующей информации из таблицы «Товары на складе» базы данных Primer.mdb. Свойствам объекта Data присваиваются следующие значения:
DataBaseName = путь к файлу базы данных
RecordSourse = «Товары на складе»
Connect = Access
Caption = «Товары»
Рис. 7.2. Общий вид интерфейса
Для подключения базы данных (задание значения свойства DataBaseName) используется стандартное окно открытия файла (см. окно свойств).
Свойствам объекта Text1 (текстовое окно с заголовком «Название товара») присваиваются значения: DataSourse = Data1 (имя элемента Data - Data1), DataField = Название (“Название” - имя поля таблицы «Товары на складе»).
Свойствам объекта Text2 (текстовое окно с заголовком «Стоимость») присваиваются значения: DataSourse = Data1 (имя элемента Data - Data1), DataField = Стоимость («Стоимость» - имя поля таблицы «Товары на складе»).
Свойствам объекта Text3 (текстовое окно с заголовком «Количество на складе») присваиваются значения: DataSourse = Data1 (имя элемента Data - Data1), DataField = Количество на складе («Количество на складе» – имя поля таблицы
«Товары на складе»).
Созданное приложение позволяет просматривать базу данных, получая из нее указанную информацию. Элемент управления Data обеспечивает движение по записям (последовательное движение к последующей записи или к предыдущей записи, переход к первой или последней записи, при щелчке мыши по соответствующей кнопке элемента управления Data (см. рис. 7.3).
Рис. 7.3. Отображение базы данных и движение по ней