Использование SQL-операторов
Теперь, когда основные SQL-операторы известны, извлечем данные из баз, используя приложение SQLExec (см. параграф " VB6 в действии: проект SQLExec" этой главы). Как использовать SQL-операторы в собственном приложении?
SQL операторы — это определения объектов RecordSet. Свойство RecordSet элемента управления Data не обязательно должно быть именем таблицы. Как правило, оно содержит только определенные строки таблицы или объединяет данные более чем одной таблицы. Набор записей, который выбирает SQL-оператор из базы данных, назначается элементу управления Data. Рассмотрим простой пример.
Приложение Data1, рассмотренное ранее в главе, отображает несколько полей из таблицы Customers базы данных NWIND. Свойство RecordSource элемента управления Data установлено на имени таблицы Customers, выбранном из раскрывающегося списка. Список рядом с именем свойства RecordSource в окне Properties — комбинированный список. В него можно вводить данные.
Предположим, необходимо, чтобы приложение Datal отобразило имена заказчиков только из Германии. Чтобы выбрать часть таблицы, задайте SQL-оператор, который создаст соответствующий RecordSet в свойстве RecordSource. Выполните следующие действия.
1. Откройте приложение Datal и выберите элемент управления Data.
2. В окне Properties найдите свойство RecordSource и введите следующий SQL-оператор (рис. 17.17).
SELECT * FROM Customers WHERE Country = "Germany"
3. Запустите приложение и используйте кнопки элемента управления Data для перемещения по именам заказчиков из Германии.
Рис. 17.17. Чтобы получить RecordSet (часть таблицы или объединение нескольких таблиц), присвоите свойству RecordSource SOL-оператор
Так как SQL-операторы распространены при работе с базами данных, допускается их непосредственное включение в базы данных. Если открыть список свойства RecordSource элемента управления Data, соединенного с базой данных NWIND, то видно, что он содержит не только имена таблиц. Он содержит имена SQL операторов, сохраненных непосредственно в базе данных. Например, элемент Category Sales for 1995 (категории товаров, проданных в 1995г.) не является именем таблицы. Это — имя запроса, который возвращает уровень продаж за 1995 год, сгруппированный по категории изделия. Если назначить этот объект свойству RecordSource, то поля результирующего RecordSet появятся в списке свойства DataField элемента управления, связанного с данными. В запросе Category Sales for 1995 имена полей, отображаемых в связанных с данными элементах управления — это CategoryName и CategorySales.