Презентация, доклад на тему Основы использования ADO-компонент для чтения информации из баз данных

Содержание

Занятие 6. Создание приложений с использованием запросов на языке SQL.Тема занятия 6: Знакомство с приемами использования запросов, построенных на языке SQL, в приложениях, созданных в Visual Basic (или Visual Basic for Application), в VBScript и

Слайд 1Основы языка SQL
Занятие 6.
Создание приложений с использованием запросов на языке SQL
Автор:

к.т.н. Герасимов Н.А.
Основы языка SQLЗанятие 6.Создание приложений с использованием запросов на языке SQLАвтор: к.т.н. Герасимов Н.А.

Слайд 2Занятие 6. Создание приложений с использованием запросов на языке SQL.
Тема занятия

6: Знакомство с приемами использования запросов, построенных на языке SQL, в приложениях, созданных в Visual Basic (или Visual Basic for Application), в VBScript и Active Server Page.

Герасимов Н.А.

Занятие 6.  Создание приложений с использованием запросов на языке SQL.Тема занятия 6: Знакомство с приемами использования

Слайд 3ADO Компоненты
Одним из популярных способов организации доступа к базам данных из

приложений является использование библиотек объектов ADO ( ActiveX Data Object), которые используют драйверы OLEDB.
Фактически библиотека компонент OLEDB представляет собой открытый стандарт универсально интерфейса доступа к базам данных. Причем имеется ввиду, не только реляционные базы данных, но и не реляционные (например, многомерные хранилища, базы почтовых сообщений, базы данных на мэйнфреймах и т.п.)

Герасимов Н.А.

ADO КомпонентыОдним из популярных способов организации доступа к базам данных из приложений является использование библиотек объектов ADO

Слайд 4Схема доступа к данным через ADO компоненты

Схема доступа к данным через ADO компоненты

Слайд 5Архитектура объектов ADO.Net
Герасимов Н.А.

Архитектура объектов ADO.NetГерасимов Н.А.

Слайд 6Технология OLE DB
OLE DB – это технология доступа к данным, основанная

на модели COM (Component Model Object), которая используется для разработки приложений под Windows.
ODBC – является надстройкой над драйверами OLEDB и позволяет создать более абстрактный уровень доступа к данным

Герасимов Н.А.

Технология OLE DBOLE DB – это технология доступа к данным, основанная на модели COM (Component Model Object),

Слайд 7Структура компонент OLEDB
Компоненты OLEDB состоят из трех элементов: провайдера (provider),

потребителя (consumer) и служебного элемента, выполняющего обработку и передачу данных. Задача провайдера обеспечить интерфейс OLEDB с помощью специального низкоуровневой программы (драйвера).
В качестве потребителя OLEDB могут выступать компоненты службы ODBC, которые используют драйверы для доступа к реляционным базам данных (см. рис.1).
Драйверы разрабатываются с ориентации на конкретную СУБД. На практике в клиентских приложениях часто используются следующие драйверы:
Драйверы для связи с базами данных, которые созданы в среде Access:
- Microsoft Jet 3.51 OLE DB Provider, собственный провайдер для баз данных с базами Access 7.0 и боле ранних версий.
- Microsoft Jet 4.0 OLE DB Provider, собственный провайдер для баз данных с базами Access 2000 и боле ранних версий.

Герасимов Н.А.

Структура компонент OLEDB Компоненты OLEDB состоят из трех элементов: провайдера (provider), потребителя (consumer) и служебного элемента, выполняющего

Слайд 8Драйверы для SQL Server
Драйверы, которые работают с СУБД SQL Server :
-

Microsoft OLE DB Provider for SQL Server, собственный провайдер для сервера SQL 6.х и более поздних версий.
В роли потребителя могут выступать ADO-компоненты.
Модель ADO представляет собой набор объектов, использование которых в приложениях значительно упрощают доступ к информации в базах данных.

Герасимов Н.А.

Драйверы для SQL ServerДрайверы, которые работают с СУБД SQL Server :	- Microsoft OLE DB Provider for SQL

Слайд 9Важное свойство ADO компонент
Интерфейс ADO доступен как из клиентских , так

и из серверных приложений. ADO компоненты используются в языках VB (VBA), так в VBScript, JavaScript, Python, PHP и др.
Поэтому, отладив приложение в локальном режиме, его легко можно перенести в серверную систему. Например, можно создать VBА-программу расчета с доступом к базе данных Access, затем текст этой программы перенести в скрипт языка VBScript, который реализует аналогичный расчет в Web-среде.

Герасимов Н.А.

Важное свойство ADO компонентИнтерфейс ADO доступен как из клиентских , так и из серверных приложений. ADO компоненты

Слайд 10Преимущества ADO технологии
Это позволяет создавать удобный и эффективный Web-интерфейс с базой

данных без утомительных разработок на языках типа C++.
Разработка приложений к базам данных становится доступной не только программистам, но и специалистам в прикладных областях (например, экономистам, социологам, юристам и т.п.)

Герасимов Н.А.

Преимущества ADO технологииЭто позволяет создавать удобный и эффективный Web-интерфейс с базой данных без утомительных разработок на языках

Слайд 116.1. Приложение в средe VBA
Разработка клиентского приложения в VBA (или VB)

начинается с подключения библиотек ADO к проекту. Для этого необходимо создать новую книгу в Excel, войти в редактор проектов VBA (через клавиши Alt+F11) и выполнить команду Tools→References, затем в окне списка библиотек компонентов выбрать библиотеку ActiveX Data Objects 2.Library.
6.1. Приложение в средe VBAРазработка клиентского приложения в VBA (или VB) начинается с подключения библиотек ADO к

Слайд 12Способы задания ADO объектов в VB (VBA) и VBScript (JavaScript)
Определение новых

объектов: DIM obj AS New ADODB.Connection DIM rs AS New ADODB.Recordset
Создание объектов с помощью оператора Set: Set db=CreateObject("ADODB.Connection") Set rs=CreateObject("ADODB.Recordset")
Способы задания ADO объектов в VB (VBA) и VBScript (JavaScript)Определение новых объектов:  DIM obj AS New

Слайд 13Методы ADO-объектов
db.Open(strConn) - открыть базу данных, согласно strConn

rs.Open(strSQL,db) – выполнение SQL-запросы

rs.Movenext

– перемещение указателя по массиву результата

rs.EOF – указатель конца файла результата (true/false)

rb.Close – закрытие канала связи с базой данных


Герасимов Н.А.

Методы ADO-объектовdb.Open(strConn) - открыть базу данных, согласно strConnrs.Open(strSQL,db) – выполнение SQL-запросыrs.Movenext – перемещение указателя по массиву результатаrs.EOF

Слайд 14Создание проекта VBA
Создадим проект, в котором данные из базы данных Access

(например,avtoshop.mdb) читаются по SQL-запросу и переносятся на рабочий лист книги (например, на Лист1).
Создадим модуль (командой Insert→Module) и на модуле разработаем процедуру READ_DB(), которая будет состоять из следующих блоков:
Блок 1 – создание объекта для коннекции с базой данных;
Блок 2 – создание объекта набора записей, соответствующих SQL-запросу;
Блок 3 – вывод набора записей на рабочий лист.
Разметим строками комментариев процедуру READ_DB(), как показано на рис. 2.

Герасимов Н.А.

Создание проекта VBAСоздадим проект, в котором данные из базы данных Access (например,avtoshop.mdb) читаются по SQL-запросу и переносятся

Слайд 15Блок схема процедуры READ_DB(),
Блок 1 создание объекта для коннекции с базой

данных

Блок 2 создание объекта набора записей, соответствующих SQL-запросу

Блок 3 вывод набора записей на рабочий лист

Герасимов Н.А.

Блок схема процедуры READ_DB(), Блок 1 создание объекта для коннекции с базой данныхБлок 2  создание объекта

Слайд 16Вариант разметки процедуры RERAD_DB()
Герасимов Н.А.

Вариант разметки процедуры RERAD_DB()Герасимов Н.А.

Слайд 17Реализация блока 1 для связи с базой Access
Для связи с локальной

базой данных Access достаточно задать: тип провайдера (Microsoft.Jet.OLEDB.4.0) и полный путь к базе данных.
' Блок 1 – создание объекта для коннекции с базой данных
Dim obj As New ADODB.Connection
PathDB = " D:\"
NameDb = "avto.mdb"
FullNameDb = PathDB & NameDb
NameProv = "Microsoft.Jet.OLEDB.4.0"
'---------- открытие базы данных -------------
With obj
.Provider = NameProv
.ConnectionString = FullNameDb
.Mode = adModeShareDenyWrite
.Open
End With
'--------------------------------------------------------

Герасимов Н.А.

Реализация блока 1 для связи с базой AccessДля связи с локальной базой данных Access достаточно задать: тип

Слайд 18Создание DSN (Data System Name) для базы данных
Выполнить Пуск-Панель управление-Администрирования –

Источники данных ODBC-32.Появится окно диспетчера Источников ODBC

Герасимов Н.А.

Создание DSN (Data System Name) для базы данныхВыполнить Пуск-Панель управление-Администрирования – Источники данных ODBC-32.Появится окно диспетчера Источников

Слайд 19 DSN для базы univer (MySQL)
Нажать кнопку Добавить. Затем выбрать драйвер

и ввести параметры

Пример параметров для драйвера ODBC MySQL:

DSN= Univer
Server= localhost
DB Name= univer
User= root
Port:=3306

Герасимов Н.А.

DSN для базы univer (MySQL)Нажать кнопку Добавить. Затем выбрать драйвер и ввести параметры Пример параметров для

Слайд 20Cпособ создания соединения с БД через DSN
Создание через DSN:
- Сначала

создаем имя DSN (например, для БД D:\Учебное пособие по SQL В Access\avto.mdb создадим DSN test_db)
Затем используем DNS-имя для связи с БД

'-Блок 1 Открытие базы данных по DSN---
Set Db = CreateObject("ADODB.Connection")
strConn = "DSN=test_db"
Db.Open strConn, Db

Герасимов Н.А.

Cпособ создания  соединения с БД через DSNСоздание через DSN: - Сначала создаем имя DSN (например, для

Слайд 21Коннекция к Access через OLEDB
'– Блок 1 - Открытие

базы данных по DSN ---
Set Db = CreateObject("ADODB.Connection")
driver = "{Microsoft Access Driver(*.mdb)}"
namedb = "D:\Orders.mdb" : us = "Admin" : psw = " "

'--------- создание строки коннекции ------------------
strConn = "driver=" & driver & ";dbq=" & namedb & "; UID=" & us & ";PASSWORD=" & psw
'-------- вывод строки коннекции --------------------
MsgBox "strConn-->" & strConn
'-------- открыть базу данных -----
Db.Open strConn, Db

Герасимов Н.А.


Слайд 22Формирование строки коннекции

Формирование строки коннекции

Слайд 23Пример OLEDB для СУБД SQL Server
Для базы данных Orders, которая создана

СУБД SQL Server:
Rem - Блок1– Открытие базы данных по OLEDB
strDriver = "{SQL Server}" : strServer = "localhost"
strUserID = "sa" : strPassword = "" : name_db = "Orders“
strConn = "driver=" & strDriver & ";server=" & strServer & ";database=" & name_db & "; uid=" & strUserID & "; psw=" & strPassword & ";“
MsgBox "strConn-->" & strConn
Db.Open strConn, Db

Результат


Слайд 24Реализация Блока 2
Реализация функции Блока 2 требует задания выражения SQL-запроса и

создания объекта типа Recordset. Созданный объект типа RecordSet необходимо связать с объектом Connection (в нашем случае с объектом obj) и передать ему SQL-запрос, который задан в стринговой форме. Положим, что нам надо отобрать все записи, которые удовлетворяют запросу: SELECT * FROM Customers ;

Герасимов Н.А.

Реализация Блока 2Реализация функции Блока 2 требует задания выражения SQL-запроса и создания объекта типа Recordset. Созданный объект

Слайд 25Текcт программы Блока 2
Dim rs As New ADODB.Recordset
'-------------------------------------
StrSQL =

" SELECT * FROM Customers "
'-----------------------------------------
With rs
Set .ActiveConnection = obj
.Source = StrSQL
.LockType = adLockReadOnly
.CursorLocation = adUseClient
.Open
.MoveFirst
End With
'--------------------------------------------------------

Герасимов Н.А.

Текcт программы Блока 2 	Dim rs As New ADODB.Recordset'------------------------------------- StrSQL =

Слайд 26Блок 3 (вывод набора записей на Лист)
'-Блок 3
'-3.1- вывод строки заголовка

---
With Sheets("Лист1")
nstr = 1: k = 1
For Each fl In rs.fields
.Cells(nstr, k).Value = fl.Name : k = k + 1
Next
'-3.2-- вывод строк тела таблицы ---
nstr = 2
Do While (rs.EOF = False)
k = 1
For Each fl In rs.fields
.Cells(nstr, k).Value = fl.Value : k = k + 1
Next
nstr = nstr + 1: rs.movenext
Loop
'-----
End With
MsgBox "Вывод по SQL-запросу окончен"

Герасимов Н.А.

Блок 3  (вывод набора записей на Лист)'-Блок 3'-3.1- вывод строки заголовка ---With Sheets(

Слайд 27Пример вывода данных на Лист
Герасимов Н.А.

Пример вывода данных на ЛистГерасимов Н.А.

Слайд 28Вывод набора записей в HTML файл
'—Block 3--------- output table on

HTML page -----------
tt = "Страница отчета"
tt = tt & "

SQL запрос:" & strSQl & "

"
'---- head of table ----------------
tt = tt & ""
For Each fl In rs.fields
tt = tt & ""
Next
tt = tt & ""
'------- body of table ------
Do While rs.EOF = False
tt = tt & ""
For Each fl In rs.fields
tt = tt & ""
Next
'-----
tt = tt & ""
rs.MoveNext
Loop
'-----
tt = tt & "
" & fl.Name & "
" & fl.Value & "
"
document.write tt

Герасимов Н.А.

Вывод набора записей в HTML файл '—Block 3--------- output table on HTML page ----------- tt =

Слайд 29Пример реализации ADO-технологий в Web-среде
Герасимов Н.А.

Пример реализации ADO-технологий в Web-средеГерасимов Н.А.

Слайд 30Примеры строк для коннекции с базой данных
Для СУБД SQL Server (MicroSoft) strConn

= "driver={SQL Server};server=localhost; database=testDB ; uid= sa; psw= 1234; "
Для СУБД Access 2007 (и старше) strConn = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\myFolder\myAccessFile.accdb;
Persist Security Info=False; "

Для таблиц Excel
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;
Extended Properties=Excel 8.0; HDR=Yes;IMEX=1";

Герасимов Н.А.

Примеры строк для коннекции с базой данныхДля СУБД SQL Server (MicroSoft) strConn =

Слайд 31Примеры строк для коннекции
Для СУБД MySQL strConn = "DRIVER={MySQL ODBC 3.51

Driver}; SERVER=localhost; DATABASE=test;USER=root; PORT=3306;OPTION=3 "
Для СУБД IBM DB2 strConn = "Provider=IBMDADB2.DB2; Location=localhost;Data Source=SAMPLE; User ID=db2admin; password=admin; "

Герасимов Н.А.

Примеры строк для коннекцииДля СУБД MySQL  strConn =

Слайд 32Результаты по разделу
Модель ADO представляет собой набор объектов, использование которых в

приложениях значительно упрощают доступ к информации в базах данных.
Применение ADO технологии позволяет создавать удобный и эффективный Web-интерфейс с базой данных без утомительного программирования
Используя механизмы DNS и изменяя только стринг коннекции можно создавать приложения практически независимые от СУБД

Герасимов Н.А.

Результаты по разделуМодель ADO представляет собой набор объектов, использование которых в приложениях значительно упрощают доступ к информации

Слайд 33Спасибо за внимание
Герасимов Н.А. gera01@yandex.ru

Спасибо за вниманиеГерасимов Н.А. gera01@yandex.ru

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

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

Email: Нажмите что бы посмотреть