Постановка задачи
Давайте создадим такую игру (см. Рис. 22.1):
Рис. 22.1
При нажатии на кнопку Начинай сначала 10 шариков разлетаются из места старта во все стороны со случайными скоростями и в случайных направлениях. Они ведут себя как биллиардные шары на столе. Ударившись о бортик, любой шарик отскакивает по закону отражения (что такое «по закону отражения», объяснено в Задание 102). Трения нет – и шарики могут бесконечно кататься по столу. Для простоты я не стал программировать взаимные соударение шариков, хотя при знании законов школьной физики это вполне можно было сделать. Поэтому шарики при столкновении просто пролетают друг сквозь друга. На поле присутствует Ловец (на рисунке он имеет вид улыбающейся рожицы). Ловцом управляет с клавиатуры игрок. Ловец может двигаться с постоянной скоростью в 4 направлениях: вверх, вниз, влево, вправо, подчиняясь соответствующим клавишам клавиатуры, а также стоять (клавиша Ctrl). Каждый раз, когда ловец соприкасается с шариком, шарик исчезает (он пойман). Задача игрока – побыстрее поймать все 10 шариков. Счетчик времени (импульсов таймера) замирает в момент поимки последнего шарика, чтобы вы могли запомнить результат. При нажатии на кнопку Начинай сначала игра начинается вновь. Вот и все.
Что здесь будет объектом? Несмотря на то, что у нас нет опыта, интуиция подскажет нам: конечно же, объектами будут шары и ловец.
Пусть мы хотим создать базу данных для некоего мифического издательства «Контакт». Кроме таблицы сотрудников, таблицы авторов и других таблиц эта база данных должна, конечно, включать и таблицу изданных книг. Пусть эта таблица имеет следующий вид:
Автор | Название книги |
| Дата выпуска | Количество страниц | |||
Стругацкие | Понедельник начинается в субботу | 3.5.1965 | 187 | ||||
Конан Дойль | Затерянный мир | 15.11.1920 | 210 | ||||
Стругацкие | За миллиард лет до конца света | 14.7.1974 | 118 | ||||
Достоевский | Белые ночи | 30.9.1848 | 55 | ||||
Ефремов | Туманность Андромеды | 12.9.1957 | 348 | ||||
Гоголь | Сорочинская ярмарка | 31.12.1831 | 26 |
Наша задача – создать эту базу и таблицу и научиться осуществлять с ними все основные необходимые операции: заполнение таблицы данными, изменение данных, разнообразные запросы.
Конечно же, мы не будем пользоваться тем трудоемким программированием, которое мы использовали в 16.3. В VB имеются специальные инструменты для быстрого и удобного выполнения нужных операций.
Базы данных, созданные в разных СУБД, имеют разные типы и каждый тип требует особого программирования. Однако VB обеспечивает работу со всеми наиболее популярными типами баз данных. Более того, с помощью технологии ADO.NET он делает эту работу совершенно одинаковой независимо от типа. Для удобства мы с вами будем работать с базами данных, совместимыми с Microsoft Access. Это позволит нам работать с одной и той же базой данных как в VB, так и в Access.
База данных упомянутого типа хранится целиком в одном файле с расширением mdb. Мы будем действовать в такой последовательности:
Создадим пустой файл базы данных
Создадим в нем пустую таблицу книг, задав в ней только имена и типы полей
Заполним таблицу данными о книгах
Будем осуществлять различные запросы к базе данных
Сначала я кратко остановлюсь на работе с базами данных в Access, а затем – более подробно – в VB. Если вы даже не собираетесь работать в Access или он у вас не установлен, вам все равно будет полезно пробежаться по материалу посвященного ему раздела, так как там рассматриваются некоторые необходимые понятия и термины и там вы легче и быстрее всего почувствуете, что такое конкретная база данных.