Чтение онлайн

на главную

Жанры

Интернет-журнал "Домашняя лаборатория", 2007 №4
Шрифт:

\\SERVER\DATA\DATABASE.MDB.

Для баз данных в формате dBASE, Paradox и др. строка string должна содержать только путь к файлу.

Для баз данных ODBC это свойство не определяется, так как все необходимые параметры для связи с базой данных устанавливаются свойством Connect.

Если вы во время работы приложения изменяете свойство DatabaseName, то после сделанных изменений необходимо выполнить метод Refresh объекта Data.

Продемонстрируем использование свойства DatabaseName в режиме выполнения приложения. Для этого:

1. Откройте проект, созданный для просмотра содержимого файла BIBLIO.MDB.

2.

Удалите содержимое свойства DatabaseName объекта управления данными Data1.

3. Добавьте следующий код в процедуру обработки сообщения о загрузке формы:

Private Sub Form_Load

data1.databasename= "c: \vb5\biblio.mdb"

data1.refresh

End Sub

4. Запустите проект.

При разработке приложений для работы с базами данных лучше не привязывать пользователя к конкретной структуре каталогов установкой свойства DatabaseName на этапе разработки программы. Это может быть не всегда удобно для пользователя. Хорошим примером уважительного отношения к пользователю служит хранение путей к файлам баз данных в специальных файлах конфигурации вашего приложения с последующим считыванием этой информации в процессе загрузки программы. Код, осуществляющий эту операцию, можно включить, например, в процедуры обработки событий Load или Activate соответствующей экранной формы.

Другим способом определения пути к файлу базы данных является использование глобального объекта Visual Basic — объекта Арр. Хотя этот объект не имеет ни методов, ни событий, у него есть несколько очень полезных свойств. Одним из них является свойство Path, которое определяет путь к выполняемому файлу. Если вы используете интегрированную среду разработки Visual Basic, например, для отладки приложения, то App.Path определяет путь к файлу проекта, который вы запустили.

Пусть файлы баз данных для вашей программы находятся в подкаталоге DBASE каталога, в котором находится ваше приложение (проект). Тогда вы можете определить необходимый путь к файлу с помощью следующего фрагмента кода. Причем каталог, из которого запускается приложение (проект) может называться как угодно.

Dim DBName As String

DBName = "BIBLIO.MDB"

Data1.Databasename = App.Path+"\DBASE\"+DBName Data1.Refresh

• EOFAction

Свойство EOFAction определяет действие объекта Data, если свойство EOF (end of file — конец файла) у созданного им набора записей установлено в True.

Синтаксис: data1.EOFAction=value.

Значение value может быть выбрано из трех альтернатив: MoveLast, EOF, или AddNew.

При создании объекта Data свойство EOFAction устанавливается по умолчанию как MoveLast. При этом текущей остается последняя запись в наборе записей.

Установка свойства EOFAction в EOF приводит к тому, что при перемещении указателя текущей записи за пределы набора снизу, текущая запись становится недопустимой (invalid) и любая попытка ее редактирования приведет к ошибке. В этом случае происходит событие Validate на последней записи в наборе и, затем, событие Reposition, уже на недопустимой записи. При этом кнопка перемещения указателя на следующую запись на объекте

управления данными становится неактивной.

Если установить свойство EOFAction в AddNew, то при перемещении указателя текущей записи за последнюю запись набора, происходит событие Validate на последней записи, затем, в набор записей добавляется новая пустая запись и происходит событие Reposition. Когда пользователь таким способом добавляет новую запись, эта она сначала создается в памяти компьютера в буфере копирования. Если после этого пользователь ввел необходимые данные и переместил указатель текущей записи на любую другую запись, то новая строка, уже содержащая данные, будет помещена в набор записей и потом в базу данных. В противном случае, если пользователь не ввел данные и переместил указатель, то пустая новая строка не добавляется в набор записей. Таким образом, установка свойства EOFAction в AddNew дает возможность пользователю добавлять в базу данных новые записи с помощью объекта Data и связанных с ним элементов управления.

Установить свойство EOFAction объекта управления данными data1 в режиме выполнения приложения можно следующим образом:

data1.EOFaction=vbEOFActionMoveLast,

data1.EOFaction=vbEOFActionEOF,

data1.EOFaction=vbEOFActionAddNew.

Возможные установки свойства EOFAction приведены в следующей таблице.

Установка • Величина • Значение

vbEOFActionMoveLast • 0 • MoveLast

vbEOFActionEOF • 1 • EOF

vbEOFActionAddNew • 2 • AddNew

Приведем пример приложения, в котором есть возможность добавлять в базу данных новые записи.

Для этого:

1. Создайте вспомогательную базу данных BIBLI02.MDB, содержащую всего одну таблицу TITLES (чтобы не изменить оригинальную базу данных BIBLIO.MDB). Это можно сделать с помощью MS Access.

2. Откройте новый проект и добавьте на форму объект управления данными Data1.

3. В окне свойств объекта Data1 установите свойство DatabaseName, как имя файла базы данных с указанием полного пути C: \VB5\BIBLI02.MDB.

4. В окне свойств объекта Data1 установите свойство RecordSource как TITLES.

5. Разместите на форме пять меток и, соответственно, пять текстовых окон как показано на рис. 4.8 и установите их свойства следующим образом:

LаЬеl1.Сарtion=Название

Text1.DataSource=Data1

Text1.DataField=Title

Label2.Caption=Год выпуска

Text2.DataSource=Data1

Text2.DataField=Author

Label3.Caption=Доп. информация

Text3.DataSource=Data1

Text3.DataField=Year Published

Label4.Caption=Описание

Text4.DataSource=Data1

Text4.DataField=Subject

Label5.Caption=Ид. издателя

Text5.DataSource=Data1

Text5.DataField=Description

Рис. 4.1. Вид экранной формы.

6. Запустите приложение.

7. Переместите указатель на последнюю запись и, затем, добавьте новую пустую запись нажатием на кнопку перехода к следующей записи.

Поделиться:
Популярные книги

На распутье

Кронос Александр
2. Лэрн
Фантастика:
фэнтези
героическая фантастика
стимпанк
5.00
рейтинг книги
На распутье

Идеальный мир для Лекаря 15

Сапфир Олег
15. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 15

Гром над Академией Часть 3

Машуков Тимур
4. Гром над миром
Фантастика:
фэнтези
5.25
рейтинг книги
Гром над Академией Часть 3

Попаданка в Измену или замуж за дракона

Жарова Анита
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Попаданка в Измену или замуж за дракона

Проданная невеста

Wolf Lita
Любовные романы:
любовно-фантастические романы
5.80
рейтинг книги
Проданная невеста

Лорд Системы

Токсик Саша
1. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
4.00
рейтинг книги
Лорд Системы

Вторая жизнь майора. Цикл

Сухинин Владимир Александрович
Вторая жизнь майора
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Вторая жизнь майора. Цикл

Сердце Дракона. Том 12

Клеванский Кирилл Сергеевич
12. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.29
рейтинг книги
Сердце Дракона. Том 12

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Имя нам Легион. Том 4

Дорничев Дмитрий
4. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 4

Безумный Макс. Ротмистр Империи

Ланцов Михаил Алексеевич
2. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
4.67
рейтинг книги
Безумный Макс. Ротмистр Империи

Наследница Драконов

Суббота Светлана
2. Наследница Драконов
Любовные романы:
современные любовные романы
любовно-фантастические романы
6.81
рейтинг книги
Наследница Драконов

Вечный. Книга III

Рокотов Алексей
3. Вечный
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга III

Дурашка в столичной академии

Свободина Виктория
Фантастика:
фэнтези
7.80
рейтинг книги
Дурашка в столичной академии