Иллюстрированный самоучитель по VB.NET

         

System. Data.SqlClient


Чтение данных из базы SQL Server происходит аналогичным образом — пространства имен OleDb и SqlClient имеют практически одинаковый синтаксис. Ниже приведена версия предыдущей программы для SQL Server:

Imports System.Data.SqlClient

Module Modulel

Sub Main()

Dim mySQLConnString As String

Dim mySQLConn As SqlConnection

Dim dbReader As SqlDataReader

Dim dbCmd As SqlCommand = New SqlCommand(

"SELECT Employees.FirstName.Employees.LastName FROM

Employees") Try

mySQLConnString = _

"uid-test:password=apress;

database=northwind:server=Apress"



mySQLConn = New SqlConnection(mySQLConnString)

mySQLConn.Open()

dbCmd.Connection = mySQLConn

dbReader = dbCmd.ExecuteReader(CommandBehavior.SingleResult)

Do While dbReader.Read()

' Вывести данные в консольном окне

Console.WriteLinetdbReader.GetString(0) & "." &_

dbReader.GetString(1))

Loop

Catch e As Exception MsgBox(e.Message)

End Try

Console. ReadLine()

End Sub

End Module

Основное различие (помимо имен классов) наблюдается в формате строки соединения. Предполагается, что на сервере Apress имеется учетная запись с паролем apress. При подключении к SQL Server в строке соединения указывается идентификатор пользователя, пароль, сервер и имя базы данных. Передавая эту информацию, мы получаем объект соединения. Конечно, лишь простейшие запросы формулируются в виде простой строки; в любом сколько-нибудь нетривиальном случае строку запроса приходится строить из отдельных фрагментов.

Несмотря на разный формат строк соединения, в приложениях SQL и OLE DВ используется одна и та же программная модель ADO .NET — это весьма существенное преимущество. Наличие общих интерфейсов IDbConnection, IdbCommand и т. д. значительно упрощает написание обобщенного кода в ADO .NET.



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