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

на главную

Жанры

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

Таким образом, для редактирования текущей записи надо сделать следующее:

1. Позиционируйте указатель текущей записи на запись, которую вы хотите редактировать.

2. Определите новые значения в полях текущей записи.

3. Используйте метод Update или любой из методов Move

Следующий пример показывает, как с помощью программного кода изменить содержимое поля PubID в первой записи таблицы Titles. Обратите внимание, что вы можете изменить данные либо в самом наборе записей, либо в связанном объекте управления:

Data1.DatabaseName = "C: \VB5\BIBLIО2.MDB"

Data1.RecordSource = "Titles"

Data1.Refresh

Data1.Recordset("PubID") = "48"

TxtPub.Text = "Visual Basic"

Data1.Recordset.Update

Удаление

записей

Чтобы удалить запись, установите указатель на требуемую запись и примените метод Delete объекта Recordset. Удаление одной записи нам уже встречалось при изучении свойства Recordset объекта управления данными. Чтобы удалить группу записей, надо повторить подобные действия необходимое количество раз. В следующем примере из таблицы Titles базы данных BIBLIO.MDB удаляются все записи, у которых поле “Year Published” содержит величину меньшую, чем 1989.

Data1.DatabaseName="C: \VB5\BIBLIO.MDB"

Data1.RecordSource="Select * from Titles where [Year Published]<1989"

Data1.Refresh

Do While Data1.Recordset.EOF = False

Data1.Recordset.Delete

Data1.Recordset.MoveNext

Loop

В этом примере при каждом проходе тела цикла используется метод MoveNext для перемещения указателя на следующую запись. Вам необходимо использовать этот метод, так как после удаления текущая запись становится недопустимой (invalid) и любая попытка доступа к ней вызовет ошибку.

Использование пары методов Delete и MoveNext не является единственным способом удаления сразу нескольких записей из базы данных. Для аналогичных целей можно использовать соответствующий SQL-запрос. Например, вместо приведенного выше кода можно использовать аналогичный по своему действию SQL-запрос:

DELETE FROM Titles WHERE [Year Published] < #1/1/1989#.

Причем, такой подход оказывается более эффективным, чем применение в цикле пары методов Delete и MoveNext.

Урок 6

Связанные с данными элементы управления

Применение связанных с данными элементов управления — Data-bound Controls уже кратко обсуждалось в уроке, посвященном работе с Data Control. Связанные элементы управления служат для отображения на экранной форме содержимого записей из таблиц базы данных и всегда используются только вместе с объектом Data.

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

Практически все операции по взаимодействию связанных элементов управления с объектами управления данными реализованы внутри их самих и, поэтому, скрыты от программиста во время разработки приложения. Вследствие этого, применение связанных с данными элементов управления позволяет значительно упростить создание и понизить затраты времени на разработку приложений, ориентированных на работу с базами данных.

В Visual Basic 5 в качестве связанных с данными элементов управления может использоваться целый ряд обычных элементов управления:

Text box — текстовое окно, Label — метка, Check box — контрольный индикатор, Image — изображение, Picture box — графическое окно, List box список, Combo box — комбинированное окно, OLE container control — OLE-контейнер.

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

Кроме обычных элементов управления для работы с базами данных, пятая версия Visual Basic поддерживает несколько ActiveX объектов:

Data-bound list box — связанный с данными список,

Data-bound combo box — связанное с данными комбинированное окно,

MSFlexGrid — сетка,

Data-Bound Grid (DBGrid) — связянная с данными сетка,

MaskedEdit — окно редактирования с маской,

RichTextBox — улучшенное окно редактирования.

Все эти объекты, за исключением MaskedEdit и RichTextBox позволяют отображать на экране целые группы записей в виде списков или таблиц. А применение DBGrid позволяет настолько повысить функциональность разрабатываемых приложений, что об этом будет специальный разговор.

Более того, если по каким-либо причинам вас не удовлетворяют возможности поставляемых вместе с Visual Basic связанных элементов управления, вы можете использовать связанные элементы управления, созданные другими разработчиками, или можете сами создать собственные ActiveX объекты для связи с данными по вашему вкусу.

Общие свойства связанных элементов управления

Большинство связанных с данными элементов управления имеют три свойства, само название которых определяет их принадлежность к группе объектов, имеющих самое непосредственное отношение к данным — DataField, DataSource и DataChanged. Во всех названиях свойств присутствует слово Data. В следующей таблице приведено их краткое описание.

Свойство • Описание

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

В теле пацана 6

Павлов Игорь Васильевич
6. Великое плато Вита
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
В теле пацана 6

Неудержимый. Книга II

Боярский Андрей
2. Неудержимый
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Неудержимый. Книга II

Кодекс Охотника. Книга V

Винокуров Юрий
5. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.50
рейтинг книги
Кодекс Охотника. Книга V

Три `Д` для миллиардера. Свадебный салон

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
7.14
рейтинг книги
Три `Д` для миллиардера. Свадебный салон

Газлайтер. Том 2

Володин Григорий
2. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 2

Совок 9

Агарев Вадим
9. Совок
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Совок 9

Бездомыш. Предземье

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

Охотник за головами

Вайс Александр
1. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Охотник за головами

Не грози Дубровскому!

Панарин Антон
1. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому!

Воин

Бубела Олег Николаевич
2. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.25
рейтинг книги
Воин

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Особое назначение

Тесленок Кирилл Геннадьевич
2. Гарем вне закона
Фантастика:
фэнтези
6.89
рейтинг книги
Особое назначение

Не кровный Брат

Безрукова Елена
Любовные романы:
эро литература
6.83
рейтинг книги
Не кровный Брат

Покоритель Звездных врат

Карелин Сергей Витальевич
1. Повелитель звездных врат
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Покоритель Звездных врат