Спонсор: Microsoft
Опубликован: 22.11.2010 | Доступ: свободный | Студентов: 4106 / 1007 | Оценка: 4.44 / 4.34 | Длительность: 09:23:00
Самостоятельная работа 4:

Создание запросов и фильтров

< Лекция 4 || Самостоятельная работа 4: 1234 || Лекция 5 >
Аннотация: Содержит информацию по созданию в "Microsoft SQL Server 2008" запросов и фильтров.

Цель: научиться создавать запросы и фильтры

Перейдем к созданию статических запросов. В обозревателе объектов "Microsoft SQL Server 2008" все запросы БД находятся в папке "Views" ( рис. 8.1).


Рис. 8.1.

Создадим запрос "Запрос Студенты+Специальности", связывающий таблицы "Студенты" и "Специальности" по полю связи "Код специальности". Для создания нового запроса необходимо в обозревателе объектов в БД "Students" щелкнуть ПКМ по папке "Views", затем в появившемся меню выбрать пункт "New View". Появится окно "Add Table" (Добавить таблицу), предназначенное для выбора таблиц и запросов, участвующих в новом запросе ( рис. 8.2).


Рис. 8.2.

Добавим в новый запрос таблицы "Студенты" и "Специальности". Для этого в окне "Add Table" выделите таблицу "Студенты" и нажмите кнопку "Add" (Добавить). Аналогично добавьте таблицу "Специальности". После добавления таблиц участвующих в запросе закройте окно "Add Table" нажав кнопку "Close" (Закрыть). Появится окно конструктора запросов ( рис. 8.3).

Замечание: Окно конструктора запросов состоит из следующих панелей:

  1. Схема данных - отображает поля таблиц и запросов, участвующих в запросе, позволяет выбирать отображаемые поля, позволяет устанавливать связи между участниками запроса по специальным полям связи. Эта панель включается и выключается следующей кнопкой на панели инструментов

  2. Таблица отображаемых полей - показывает отображаемые поля (столбец "Column" ), позволяет задавать им псевдонимы (столбец "Alias" ), позволяет устанавливать тип сортировки записей по одному или нескольким полям (столбец "Sort Type" ), позволяет задавать порядок сортировки (столбец "Sort Order" ), позволяет задавать условия отбора записей в фильтрах (столбцы "Filter" и "Or…" ). Также эта таблица позволяет менять порядок отображения полей в запросе. Эта панель включается и выключается следующей кнопкой на панели инструментов

  3. Код SQL - код создаваемого запроса на языке T-SQL. Эта панель включается и выключается следующей кнопкой на панели инструментов

  4. Результат - показывает результат запроса после его выполнения. Эта панель включается и выключается следующей кнопкой на панели инструментов

Замечание: Если необходимо снова отобразить окно "Add Table" для добавления новых таблиц или запросов, то для этого на панели инструментов "Microsoft SQL Server 2008" нужно нажать кнопку


Замечание: Если необходимо удалить таблицу или запрос из схемы данных, то для этого нужно щелкнуть ПКМ и в появившемся меню выбрать пункт "Remove" (Удалить).

Теперь перейдем к связыванию таблиц "Студенты" и "Специальности" по полям связи "Код специальности". Чтобы создать связь необходимо в схеме данных перетащить мышью поле "Код специальности" таблицы "Специальности" на такое же поле таблицы "Студенты". Связь отобразится в виде ломаной линии соединяющей эти два поля связи ( рис. 8.3).

Замечание: Если необходимо удалить связь, то для этого необходимо щелкнуть по ней ПКМ и в появившемся меню выбрать пункт "Remove".

Замечание: После связывания таблиц (а также при любых изменениях в запросе) в области кода T-SQL будет отображаться T-SQL код редактируемого запроса.

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

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

Замечание: Если необходимо отобразить все поля таблицы, то необходимо установить галочку слева от пункта "* (All Columns)" (Все поля), принадлежащего соответствующей таблице на схеме данных.

Определите отображаемые поля нашего запроса, как это показано на рис. 8.3 (Отображаются все поля кроме полей с кодами, то есть полей связи).

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


Либо щелкните ПКМ в любом месте окна конструктора запросов и в появившемся меню выберите пункт "Execute SQL" (Выполнить SQL). Результат выполнения запроса появиться в виде таблицы в области результата ( рис. 8.3).

Замечание: Если после выполнения запроса результат не появился, а появилось сообщение об ошибке, то в этом случае проверьте, правильно ли создана связь. Ломаная линия связи должна соединять поля "Код специальности" в обеих таблицах. Если линия связи соединяет другие поля, то ее необходимо удалить и создать заново, как это описано выше.

< Лекция 4 || Самостоятельная работа 4: 1234 || Лекция 5 >
Татьяна Казакова
Татьяна Казакова
Олег Андриевский
Олег Андриевский

Также весьма интересен фильтр данных, вводимый вручную:

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        If Trim(TextBox1.Text) = "" Then
            Me.СтудентыBindingSource.RemoveFilter()
        Else
            Me.СтудентыBindingSource.Filter = String.Format("{0} LIKE '{1}%'", "ФИО", Trim(TextBox1.Text))
        End If
    End Sub

Ирина Королькова
Ирина Королькова
Россия
Евгений Бабенко
Евгений Бабенко
Россия, г. Нижневартовск