Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пример подключения к БД

Что такое ADO

ADO расшифровывается как ActiveX Data Objects - набор программных объектов, построенных по технологии ActiveX (COM) и позволяющий получать данные и управлять ими на самых разных источниках. Другие наборы программных объектов для доступа к источникам данных, которые часто используются в скриптах - это DAO и RDO, но эти программные объекты устарели и к использованию в современных приложениях не рекомендуются. В настоящее время появилась новая версия ADO - ADO.NET, которая сильно отличается от обычной ADO и предназначена для работы в.NET Framework.

ADO умеет работать с самыми разными драйверами для подключения к базам данных, например, с драйверами OLE DB и ODBC. Поскольку ADO построен по технологии COM, эти объекты можно использовать в любых COM-совместимых языках программирования (VC++, Visual Basic, Deplhi, VBA, VBScript, JScript, ActivePerl и т.п.).

Сами программные объекты поставляются в наборе драйверов для подключения к базам данных, которые называются MDAC (Microsoft Data Access Components). Этот набор драйверов можно совершенно бесплатно скачать с Web-сайта Microsoft. Настоятельно рекомендуется отслеживать появление новых версий MDAC и устанавливать их на компьютерах пользователей.

Главные объекты ADO выглядят следующим образом:

- объект Connection - позволяет установить соединение с источником данных и управлять им. Все ошибки, которые возникают в ходе работы соединения, помещаются в сопутствующую коллекцию Errors.

- объект Command - представляет команду, при помощи которой производится выполнение определенной операции на источнике данных (выполнение запроса, хранимой процедуры, создание или изменение объекта, изменение данных и т.п.). Если источник данных - SQL-совместимый, то объект Command, скорее всего, будет представлять команду SQL. Объекту Command сопутствует коллекция Parameters - параметры, которые передаются запросу или хранимой процедуре.

- объект Recordset - представляет набор записей, полученных с источника или сгенерированный другим способом. Ему сопутствует коллекция Fields, представляющая информацию о столбцах в этом наборе записей (имя, тип, размерность данных и т.п.), а также сами данные.

Для каждого из этих трех объектов предусмотрена также коллекция Properties, которая определяет соответственно свойства соединения, команды или набора записей.

Все объекты явно создавать необязательно - например, при создании объекта Recordset можно в автоматическом режиме создать объект Connection.

 

Пример подключения к БД

 

Подключение к базе данных Northwind на сервере SQL Server с именем LONDON:

 

Dim cn

Set cn = CreateObject("ADODB.Connection")

cn.Provider = "SQLOLEDB"

cn.ConnectionString = "User ID=SA;Password=password;Data Source = LONDON1;" _

& "Initial Catalog = Northwind"

cn.Open

 

В принципе, этого вполне достаточно, чтобы создать работающий объект соединения. Однако есть смысл подробнее поговорить про различные свойства и методы этого объекта.

- свойство Provider определяет драйвер, который будет использован для подключения к базе данных. Обычно используются два типа драйверов для подключения - драйверы OLE DB и ODBC. Если есть возможность, необходимо использовать подключение по OLE DB - более современный способ, который работает намного быстрее. Свойство Provider необходимо указывать только при подключении по OLE DB, при подключении по ODBC все необходимые параметры передаются при помощи свойства ConnectionString. Значения свойств Provider для подключения к разным источникам данных могут выглядеть так:

- "Microsoft.Jet.OLEDB.4.0" - для подключений к файлам Access и Excel и другим источникам данных на основе Jet;

- "SQLOLEDB" - для подключений к SQL Server (как в примере)

- "MSDAORA.1" - для подключений к серверу Oracle;

- "ADsDSOObject" - для подключения к базе данных службы каталогов Windows.

- свойство ConnectionString - главное свойство объекта Connection. Оно определяет параметры подключения к источнику (его значение представляет из себя набор параметров, разделенных разделителем - точкой с запятой, порядок их значения не имеет). В нашем примере мы передали четыре значения параметра - User ID - идентификатор пользователя (это значит, что мы используем подключение SQL Server), Password - пароль password и Data Source - имя сервера баз данных, Initial Catalog - имя базы данных на этом сервере. Для передачи ConnectionString можно использовать и метод Open. Если бы использовали подключение Windows к SQL Server, код для подключения мог бы выглядеть так:

Dim cn

Set cn = CreateObject("ADODB.Connection")

cn.Open "Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=london1"

При подключении к файлу Access или Excel строка подключения могла бы выглядеть так:

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Борей.mdb"

Пример работы с БД на Visual Basic:

 

Private Sub Кнопка0_Click()

Dim dbs As Database, r1 As Recordset ‘ определить объектные переменные

Dim n, s, z As Long

Set dbs = CurrentDb ‘ текущая БД=currentDb

Set r1 = dbs.OpenRecordset("Employers") ‘присвоить переменной ссылку на таблицу "Employers"

r1.MoveFirst ‘ установить курсор на 1 записи

n = r1.RecordCount ‘ подсчитать число записей в табл.

Do While Not r1.EOF ‘ цикл по записям-пока не дойдет до конца записи

r1.Edit

r1!Zar = 6000 + 1000 * Int(Rnd() * 10) ‘занести данные случайным образом

r1.Update

r1.MoveNext

Loop ‘ конец цикла

s = 0

r1!MoveFirst

n = r1.RecordCount

Do While Not r1.EOF

z = r1!Zar

s = s + z

r1.Edit ‘Редактировать таблицу

If z > 6900 Then r1!Nad = 500 Else r1!Nad = 400 'Установить надбавку в зависимости от зарплаты

r1.Update ‘занести исправления в таблицу

r1.MoveNext

Loop

s = s \ n

Надпись1.Caption = s ‘значение средней зарплаты вывести в надпись1

End Sub

 

<== предыдущая лекция | следующая лекция ==>
Коротко о других компонентах ADO | Повышение пенсий и социальных выплат


Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных