Cамоучитель по VB.NET

Пространство имен System.Data.OleDb



Пространство имен System.Data.OleDb содержит классы, используемые при взаимодействии с OLE DB-совместимыми базами данных (такими, как Microsoft Access или Microsoft Fox Pro). Обычно в программах используются классы OleDbConnectl on, OleDbCommand и OleDbDataReader этого пространства имен. Ниже приведены краткие описания этих важных классов.

  • Класс OleDbConnection: можно считать, что этот класс представляет соединение с источником данных OLE DC и содержит свойства, необходимые для подключения к базе данных (данные провайдера OLE DB, имя пользователя и пароль). После соединения в экземпляре класса сохраняются дополнительные метаданные о базе данных.
  • Класс OleDbCommand: класс представляет команды SQL, применяемые к базе данных OLE DB. Вместе с командой хранятся все параметры и дополнительная информация, необходимая для обработки запроса.
  • Класс OleDbDataReader: используется после получения данных от источника при помощи двух классов, описанных выше. Является специализированной формой класса потока ввода (см. главу 9) и умеет только читать данные, возвращаемые объектом OleDbCommand. Аналогом объекта DataReader в ADO является набор записей, хранящийся на сервере, доступный только для чтения и поддерживающий только перебор в прямом направлении.

Ниже приведен пример использования этих трех классов. Наше приложение подключается к базе данных Northwind, входящей в поставку Access и современных версий SQL Server.

1 Imports System.Data.OleDb

2 Module Modulel

3 Sub Maint)

4 Dim myAccessConn As OleDbConnection

5 Dim dbReader As OleDbDataReader



6 Dim dbCmd As OleDbCommand =New OleDbCommand(

7 "SELECT Employees.FirstName.Employees.LastName FROM Employees")

8 Try

9 ' Открыть соединение

10 myAccessConn = New OleDbConnection(

11 "Provider=Microsoft.Jet.OLEDB.4.0;" &_

12 "Data Source=C:\Program Files \Microsoft _

Office\0ffice\SamplesNNorthwind.mdb")

13 myAccessConn.Open()

14 dbCmd.Connection = myAccessConn

15 dbReader = dbCmd.ExecuteReader(CommandBehavior.SingleResult)

16 Do While dbReader.Read()

17 Console.WriteLine(dbReader.GetString(0) & " " & _

dbReader.GetString(1))

18 Loop

19 Console.ReadLine()

20 Catch e As Exception

21 MsgBox(e.Message)

22 End Try

23 End Sub

24 End Module

Результаты, полученные при запуске этого приложения, показаны на Рисунок 11.1.



Содержание раздела