Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание запроса






Запросом называется выражение, написанное на языке SQL и определяющее некоторое подмножество записей таблицы, которое удовлетворяет заданному критерию. В этом разделе мы рассмотрим некоторые простейшие запросы для отбора записей из таблицы BookList и сортировки данных. Тем не менее, перед тем как выполнять запрос, необходимо сначала определить его:

1. Щелкните правой кнопкой мыши в окне базы данных и выберите из контекстного меню команду New Query. Кроме того, можно выполнить команду Utility > Query Builder из меню Visual Data Manager. Открывается диалоговое окно Query Builder(pnc.8.12).

 

Рис. 8.12. Диалоговое окно Query Builder

 

2. Выберите таблицу BookList из списка ТаЫе — появляется перечень всех полей таблицы. По умолчанию в поле Field Name указывается первое поле таблицы. Замените его текстом [BookList].LASTNAME.

3. Не изменяйте содержимого поля Operator. Hac интересуют фамилии авторов, поэтому сравнение должно быть точным.

4. В поле Value введите текст Повис или нажмите кнопку List Possible Values и выберите строку Повис из списка. При нажатии этой кнопки открывается список всех значений данного поля в текущей таблице. В некоторых ситуациях выбор значения из списка заметно экономит время.

5. В списке Fields to Show выберите все поля, щелкая на каждом из них. Мы хотим, чтобы в результатах запроса были приведены значения всех полей таблицы.

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

7. Нажмите кнопку Add into Criteria, чтобы добавить выражение SQL к списку критериев. Вы можете продолжить создание запросов и добавление их к текущему критерию кнопками Add into Criteria или Or into Criteria. Наш пример ограничивается поиском по фамилии.

8. Чтобы протестировать запрос, нажмите кнопку Run. Data Manager спрашивает, является ли ваш SQL-запрос транзитным (passthrough) (нажмите кнопку No; сквозные запросы используются для работы с SQL-серверами баз данных, например Microsoft SQL Server). Если запрос сформулирован правильно, вы увидите набор записей, в каждую из которых входит фамилия Повис (рис. 8.13).

 

Рис. 8.13. Результаты запроса

 

9. Завершите просмотр результатов и закройте диалоговое окно кнопкой Close.

10. Нажмите кнопку Save в диалоговом окне Query Builder. Вам будет предложено задать имя запроса — введите Powys. После короткой паузы запрос будет добавлен в базу данных.

11. Закройте окно Query Builder кнопкой Close.

 

Результаты запроса образуют так называемый динамический набор. Данные динамического набора можно редактировать — любые изменения отражаются в таблице BookList. Впрочем, на практике подобный запрос вряд ли будет удобен — он выводит сведения по конкретной фамилии автора. Каждый раз, когда в вашей базе данных появляется новая фамилия, придется создавать новый запрос. Запросы, включаемые в базу данных, должны быть более универсальными. Для создания универсального запроса можно воспользоваться услугами Visual Data Manager. Если результат вас устраивает, скопируйте выражение SQL в приложение Visual Basic. Объединяя строки, можно включить в него содержимое некоторого текстового поля. Например, SQL-запрос можно создать следующим образом:

 

SQL = " Select * from [BookList] Where [BookList].LASTNAME = '"

SQL = SQL & txtAuthorName &.....

 

Затем на форме создается текстовое поле с именем txtAuthorName. Пользователь может ввести в нем нужную фамилию, и при вызове запроса содержимое поля будет подставлено в строку SQL-оператора, после чего на основе запроса создается динамический набор.

Теперь давайте подумаем, какую дополнительную информацию следует включить в таблицу BookList.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.