На главную страничку учебника Visual BasicРабота с БД через элемент Data Элемент управления Data в Visual Basic обеспечивает возможность формировать мощные и разнообразные приложения базы данных с очень небольшим объемом программирования. Доступ к данным с помощью элемента управления Data Элемент управления Data реализует доступ к данным с использованием процессора базы данных Microsoft Jet. Эта технология обеспечивает доступ к базам данных многих форматов. Процесс создания приложения базы данных с применением элемента управления Data включает следующие два шага:
Использование связанных элементов управления После размещения связанного элемента управления в форме и установки его свойств в этом элементе управления автоматически отображаются данные из базы данных. Если пользователь изменяет данные в связанном элементе управления, эти изменения автоматически фиксируются в базе данных, когда пользователь перемещается на другую запись. С данными может быть связан ряд встроенных элементов управления Visual Basic, включая флажок (CheckBox), образ (Image), надпись (Label), изображение (PictureBox), текстовое поле (TextBox), простой список (ListBox), поле со списком (ComboBox) и OLE-контейнер. На следующей иллюстрации показана примерная форма, которая содержит элемент управления Data и два связанных элемента управления: Некоторые свойства и методы элемента управления Data Свойство Connect Свойство Connect определяет тип базы данных, которую требуется открыть. Это свойство может включать такие параметры домена защиты, как идентификатор пользователя и пароль. Свойство Exclusive Свойство Exclusive определяет, получит ли пользователь исключительное право доступа к базе данных. Если свойство Exclusive установлено в True и затем пользователь успешно открывает базу данных, никакое другое приложение не сможет открыть базу данных, пока она не будет закрыта данным пользователем. Свойство Readonly Свойство Readonly определяет, может ли пользователь модифицировать базу данных. Если модифицировать базу данных не планируется, более эффективно будет установить свойство Readonly в True. Свойство Recordset Свойство Recordset — объект, который содержит набор записей, возвращенных элементом управления Data. С этим свойством связаны свойства и методы, которые можно использовать при работе с возвращенными записями. Свойства BOFAction и EOFAction Эти свойства определяют, какое действие должен выполнить элемент управления Data, когда свойства BOF или EOF набора записей принимают значение True. Например, если свойство EOFAction элемента управления Data установлено в vbAc-tionAddNew и элемент управления Data используется для перемещения ниже последней записи набора записей, будет автоматически выполнен метод AddNew, позволяющий вводить новую запись. Метод Refresh Метод Refresh регенерирует объект Recordset. Если в период выполнения изменяется свойство RecordSource, необходимо вызвать метод Refresh, чтобы обновить набор записей. В следующем фрагменте показано, как использовать метод Refresh: Data1.RecordSource
= "SELECT * FROM Employees " & _ Объект Recordset В приложении базы данных пользователи перемещаются по записям базы данных, используя кнопки элемента управления Data. Ниже показано, что "скрывается" за элементам управления Data и его кнопками. Что такое Recordset? Объект Recordset — весь набор записей, к которым обращается элемент управления Data. Набор записей хранится в памяти, в случае необходимости выгружаясь на диск. Для манипулирования набором записей используется свойство Recordset элемента управления Data. Одна запись набора Recordset является текущей. Информация из текущей записи отображается в связанных элементах управления. Позицию текущей записи можно изменить, щелкнув кнопку элемента управления Data или программно в коде с помощью методов объекта Recordset. Определение границ набора записей Если для изменения позиции текущей записи используется программный код, необходимо определить начало и конец набора записей, контролируя свойства EOF и BOF объекта Recordset. При перемещении к записи EOF или BOF выполняется действие, установленное значением свойства BOFAction или EOFAction. Например, можно установить EOFAction таким образом, чтобы автоматически добавлялась новая запись. Если свойство EOFAction установлено к EOF, то при перемещении к записи EOF никакого действия выполняться не будет. В случае же перемещения на одну запись до BOF или после EOF возвращается ошибка выполнения. На следующей таблице показано, как свойства BOF и EOF определяют границы объекта Recordset (набора записей).
Использовать объект Recordset определенного элемента управления Data в программном коде можно через свойство Recordset элемента управления Data, как показано в следующем фрагменте: Data1.Recordset.MoveNext
' Перемещение на следующую запись набора Свойства и методы объекта Recordset Для отбора информации из набора записей используются свойства и методы объекта Recordset. Они позволяют перемещаться по записям, добавлять, модифицировать или удалять записи. Свойства BOF и EOF Свойства BOF и EOF объекта Recordset указывают, установлена ли позиция текущей записи в наборе перед первой записью или после последней записи. Если в наборе записей не имеется никаких записей, то и свойство BOF, и свойство EOF — True. Метод AddNew Добавить новую запись к набору записей можно методом AddNew. При выполнении метода AddNew Visual Basic очищает связанные элементы управления и устанавливает для свойства EditMode элемента управления Data значение dbEditAdd. Новая запись не будет добавлена к базе данных, пока не будет явно выполнен метод UpdateRecord или Update или пока пользователь не переместится на другую запись. В следующем фрагменте показано, как добавить новую запись к набору: Sub
cmdAdd_Click () Метод UpdateRecord элемента управления Data Для сохранения текущей записи в базе данных используется метод UpdateRecord. В следующем фрагменте база данных модифицируется сохранением значений текущей записи: Sub
cmdUpdate_Click () Метод CancelUpdate элемента управления Data Чтобы отменить метод AddNew или Edit и обновить связанные элементы управления данными из текущего набора записей, можно использовать метод CancelUpdate. Например, если пользователь изменил поля на форме, но еще не модифицировал их и решил отменить изменения, метод CancelUpdate отменит операцию, обновит поля оригинальными данными из набора записей и выведет на экран текущую запись. Ниже показано, как отменить добавление или редактирование записи: Sub
cmdCancel_Click () Метод Delete Для удаления записи из базы данных используется метод Delete. Удаленная запись остается текущей, пока пользователь не перемещается на другую запись, как показано в следующем коде. Sub cmdDelete_Click () Data1.Recordset.Delete End Sub Примечание: В базе данных могут быть установлены определенные правила ссылочной целостности. Например, в базе данных Nwind установлены правила, запрещающие удаление служащих, с которыми связаны заказы. Информацию относительно управления нарушениями ссылочной целостности см. в разделе "Ссылочная целостность" главы 4 "Расширенные возможности программирования доступа к данным". На главную страничку учебника Visual Basic |