- •Введение
- •1. Основные понятия архитектуры клиент-сервер
- •1.1. Преимущества архитектуры клиент-сервер
- •1.2. Основные понятия и компоненты архитектуры
- •1.3. Звенья
- •1.4. Серверы баз данных
- •2. Основные понятия, объекты и язык т-sql субд ms sql Server 2005
- •2.1. Состав и назначение баз данных в ms sql Server
- •2.2. Основные этапы работы с sql Server
- •2.3. Используемые типы данных в sql Server
- •2.4. Введение в Transact-sql (t-sql)
- •2.4.1. Выражения
- •2.4.2. Переменные
- •2.4.3. Преобразование типов
- •2.4.4. Управляющие конструкции т-sql
- •2.4.5. Описание примера базы данных
- •2.4.6. Управление данными (язык sql)
- •2.4.6.1. Типы команд sql
- •2.4.6.2. Извлечение данных
- •2.5. Представления
- •2.5.1. Создание и удаление представлений
- •2.5.2. Обновление данных в представлениях
- •2.5.3. Преимущества и недостатки представлений.
- •Независимость от данных
- •2.6. Хранимые процедуры
- •2.6.1. Понятие хранимой процедуры
- •2.6.2. Типы хранимых процедур
- •2.6.3. Создание, изменение и удаление хранимых процедур
- •2.6.4. Выполнение хранимой процедуры
- •3. Использование ms sql Server Management Studio для работы с объектами базы данных
- •3.1. Описание учебной базы данных «Realizations of goods» (Реализация товаров)
- •3.2. Создание и сохранение базы данных
- •3.3. Создание и работа с представлениями (запросы)
- •3.4. Создание и работа с хранимыми процедурами
- •4. Создание клиент-серверного приложения в Visual Basic
- •4.1. Элемент управления ms ado data Control
- •4.2. Элемент управления ms dataGrid Control
- •4.3. Клиент-серверное приложение «Реализация товаров»
- •4.3.1. Постановка задачи
- •4.3.2. Состав пользовательского интерфейса и программная реализация
- •4.3.3. Графическое формирование значений свойств элементов Adodc и DataGrid
- •5. Практические задания для самостоятельной работы
- •Вариант 1. «Жильё»
- •Вариант 2. «Жители»
- •Вариант 3. «Население»
- •Вариант 4. «Вакансии»
- •Вариант 5. «Поставщики-детали»
- •Литература
4. Создание клиент-серверного приложения в Visual Basic
Язык Visual Basic для создания и поддержки клиент-серверных приложений использует разные технологии (механизмы):
интерфейс ODBC (Open Database Connectivity) корпорации Microsoft,
технологию ADO (Active Data Objects);
интерфейс OLE DB (Object Linking and Embedding for DataBases).
Технология ODBC (открытое подключение баз данных) предусматривает применение единого интерфейса для доступа к различным базам данных. Причем язык SQL рассматривается как основное стандартное средство доступа. Этот интерфейс обеспечивает высокую степень универсальности, в результате одно и то же приложение может получать доступ к данным, хранящимся в базах различных целевых СУБД. Таким образом, это инструмент для создания и распространения приложений архитектуры "клиент-сервер", способных работать с широким спектром различных целевых СУБД, а связать приложения с любой выбранной целевой СУБД можно посредством соответствующего ODBC-драйвера. В настоящее время технология ODBC фактически приобрела значение отраслевого стандарта. Основной причиной ее популярности является присущая ей гибкость.
Технология ADO - это программное расширение технологии активных серверных страниц ASP, реализованное в Web-сервере Internet Information Server (IIS) компании Microsoft с целью организации подключений к базам данных. Основными преимуществами технологии ADO является простота использования, высокая скорость, небольшие потребности в оперативной памяти и незначительные затраты дисковой памяти. Объектная модель ADO разработана для выполнения большинства особенностей интерфейса OLE DB.
Интерфейс OLE DB является более универсальной технологией для доступа к любым источникам данных. В него включен механизм провайдеров, под которыми понимаются поставщики данных, находящиеся в надстройке над физическим форматом данных. Их называют сервис-провайдерами. Они помогают объединять в однотипную совокупность объекты, связанные с разнообразными источниками данных. OLE DB может использовать для доступа к источникам данных интерфейс ODBC. В этом случае применяется провайдер OLE DB для доступа к ODBC-данным. Таким образом, интерфейс OLE DB не заменяет интерфейс ODBC, а позволяет организовать доступ к источникам данных через различные интерфейсы, и в том числе через ODBC.
Доступ к данным из разработанных на Visual Basic клиент-серверных приложений выполняется посредством использования объекта управления данными и связанных с ним объектов управления или объектов доступа к данным. В качестве объекта управления данными будем в дальнейшем рассматривать и использовать элемент MS ADO DATA Control. В качестве объектов доступа к данным – такой элемент, как MS DATAGrid Control.
4.1. Элемент управления ms ado data Control
Элемент управления MS ADO DATA Control (ADODС) служит для установления связи между базой данных по технологии OLE DB и другими элементами управления, используемыми для отображения данных. Данный элемент по своим функциональным возможностям похож на использующий технологию Jet элемент DATA [5].
Элемент управления ADODС позволяет обеспечить доступ к содержимому таблицы, представления, хранимой процедуры или запроса. При этом в данный момент доступ обеспечивается только к одной записи, которая называется текущей (current). В дальнейшем содержимое элемента ADODС будем называть набором данных.
Кроме общих для всех элементов свойств [1-3,5], элемент управления ADODС обладает следующими основными специфическими свойствами:
Caption – задает заголовок элемента.
ConnectionString – объект, описывающий свойства соединения с данными.
Recordset – объект, который описывает набор данных [5].
RecordSource – свойство, определяющее источник данных [5], т.е. откуда извлечь данные. Это может быть имя таблицы, представления, хранимой процедуры либо текст запроса на языке SQL.
Основным методом объекта ADODС является метод Refresh – обновление набора данных.
Элемент ADODС автоматически инициализируется при запуске приложения.
Более подробно остановимся на свойстве ConnectionString. Данное свойство является строкой и содержит всю информацию, необходимую ADODС для того, чтобы создать соединение с внешним источником данных. Оно позволяет задавать такие важные характеристики, например, как тип поставщика данных (интерфейс), параметры подключения (имя сервера, имя пользователя, пароль, имя базы данных и т.д.).
Данное свойство должно содержать список инструкций, которые отделяются друг от друга символом «точка с запятой». Инструкция имеет следующий вид:
имя параметра=значение
Основные допустимые параметры свойства ConnectionString приведены в следующей таблице.
Таблица 10. Параметры свойства ConnectionString
-
Параметр
Назначение
Provider
Имя драйвера
User ID
Имя пользователя
Password
Пароль
Initial Catalog
Имя базы данных
Data Source
Имя сервера БД
Persist Security Info
Разрешение сохранения пароля (true или false)
Пример 4.1. Пусть элемент ADODС с именем Adodc4 создает соединение с базой данных realization of goods на MS SQL Server с именем SERVERX, используя драйвер SQLOLEDB.1, имя пользователя student и пароль pass1.
Тогда свойство ConnectionString (в терминах языка Visual Basic) будет заполнено следующим образом:
Adodc4.ConnectionString = "Provider=SQLOLEDB.1;Password=pass1;Persist Security Info=True;User ID=student;Initial Catalog=realization of goods;Data Source=SERVERX"
Объект Recordset [5] представляет набор записей, полученный в результате выполнения запроса в базе данных. При создании объекта Recordset указатель текущей записи устанавливается на его первую запись (если таковая имеется), а свойствам BOF и EOF присваивается значение FALSE. Если никаких записей нет, то свойству Recordcount присваивается значение 0, а свойствам BOF и EOF - значение TRUE. Класс Recordset включает следующие методы:
MoveFirst, MoveLast, MoveNext, MovePrevious - производят перемещение указателя текущей записи в предположении, что провайдер поддерживает выполнение соответствующей функции. В однонаправленных объектах Recordset поддерживается только метод MoveNext. При использовании указанных методов для перемещения по записям результирующего набора для обнаружения его начала и конца могут применяться свойства BOF и EOF объекта Recordset;
AddNew, Update, Delete - осуществляют добавление новых записей, обновление и удаление имеющихся записей, связанных с открытым объектом;
Open (Close) - выполняют открытие (закрытие) курсора, представляющего результаты выполнения команды.
Коллекция Fields [5]. Объект Recordset содержит коллекцию Fields, состоящую из объектов класса Field, каждый из которых соответствует столбцу данных объекта Recordset. На отдельный объект Field в коллекции Fields можно ссылаться, используя его порядковый номер или имя.
