Открытие базы данных SQL Server с помощью поставщика данных SQL Server .NET с помощью Visual Basic .NET

В этой статье содержатся сведения о том, как открывать базы данных Microsoft SQL Server с помощью поставщика данных SQL Server .NET вместе с Visual Basic .NET. Вы можете использовать ADO.NET для открытия базы данных SQL Server с помощью поставщика данных SQL Server .NET. ADO.NET собирает все классы, необходимые для обработки данных.

Пространство System.Data.SqlClient имен описывает коллекцию классов, которые используются для программного доступа к источнику данных SQL Server. Классы ADO можно получить через System.Data.OleDb пространство имен, чтобы обеспечить поддержку баз данных OLE DB.

В этой статье подключения настраиваются как программным образом, так и с помощью обозревателя серверов Visual Studio .NET. В примерах кода в этой статье используются SqlConnectionобъекты , SqlCommandа ADO.NET SqlDataReader .

Применимо к: Visual Basic .NET

Исходный номер базы знаний: 308656

Предпосылки

  • Microsoft SQL Server
  • Visual Basic .NET

Примечание.

SQL Server и Visual Basic .NET должны быть установлены и запущены на одном компьютере. Кроме того, пользователь должен иметь возможность использовать встроенную безопасность Windows для подключения к SQL Server.

В этой статье предполагается, что вы знакомы со следующими разделами:

  • основные понятия ADO.NET
  • Основные понятия SQL Server и синтаксис Transact-SQL (T-SQL)
  • Пример базы данных Northwind

Создание приложения .NET для Visual Basic

  1. В Visual Studio .NET создайте проект приложения Windows Visual Basic и назовите его SQLDataAccess.

  2. Откройте форму 1.

  3. В первой строке Form1.vb добавьте ссылку на пространство имен ADO.NET следующим образом:

    Imports System.Data.SqlClient
    
  4. Чтобы убедиться, что служба SQL Server запущена на компьютере, выберите "Пуск", наведите указатель на программы, наведите указатель на Microsoft SQL Server и выберите SQL Server Service Manager.

  5. Задайте для свойства Server имя компьютера, а затем задайте для свойства Services значение MSSQLServer.

  6. Если служба не запущена, нажмите кнопку "Пуск".

  7. Закройте диалоговое окно диспетчера служб SQL Server.

Создание объектов ADO.NET

Измените Form1 класс следующим образом:

Public Class Form1
    Inherits System.Windows.Forms.Form
    'Create ADO.NET objects.
    Private myConn As SqlConnection
    Private myCmd As SqlCommand
    Private myReader As SqlDataReader
    Private results As String

Объект SqlConnection устанавливает подключение к базе данных, SqlCommand объект запускает запрос к базе данных, а SqlDataReader объект получает результаты запроса.

Использование объекта SqlConnection для открытия подключения к SQL Server

  1. Чтобы настроить строка подключения SqlConnection объекта, добавьте следующий код в процедуру Form1_Load события:

     'Create a Connection object.
     myConn = New SqlConnection("Initial Catalog=Northwind;" & _
     "Data Source=localhost;Integrated Security=SSPI;")
    
  2. Чтобы настроить Command объект, содержащий SQL-запрос, добавьте следующий код в процедуру Form1_Load события:

    'Create a Command object.
    myCmd = myConn.CreateCommand
    myCmd.CommandText = "SELECT FirstName, LastName FROM Employees"
    
    'Open the connection.
    myConn.Open()
    

SqlConnection использует сведения о входе в Систему Windows для подключения к базе данных Northwind на компьютере.

Использование объекта SqlDataReader для получения данных из SQL Server

  1. В процедуру события Form1_Load добавьте следующий код:

    myReader = myCmd.ExecuteReader()
    

Метод myCmd.ExecuteReader при запуске извлекает два поля из таблицы Employees и создает объект SqlDataReader.

  1. Чтобы отобразить результаты запроса, добавьте следующий код в процедуру Form1_Load события:

    'Concatenate the query result into a string.
    Do While myReader.Read()
        results = results & myReader.GetString(0) & vbTab & _
        myReader.GetString(1) & vbLf
    Loop
    'Display results.
    MsgBox(results)
    

Метод myReader.Read возвращает логическое значение, указывающее, есть ли больше записей для чтения. Результаты SQL-запроса отображаются в окне сообщения.

  1. Чтобы закрыть и SqlDataReader объектыSqlConnection, добавьте следующий код в процедуру Form1_Load события:

    'Close the reader and the database connection.
     myReader.Close()
     myConn.Close()
    
  2. Сохраните и запустите проект.

Просмотр базы данных в обозревателе серверов

  1. В меню "Вид " выберите обозреватель серверов.
  2. Щелкните правой кнопкой мыши Подключения данных и выберите Добавить подключение.
  3. В диалоговом окне "Свойства канала данных" выберите localhost в поле "Выбор" или введите имя сервера .
  4. Чтобы войти на сервер, выберите Windows NT Integrated Security.
  5. Выберите базу данных на сервере и выберите базу данных Northwind в списке.
  6. Чтобы проверить подключение, выберите "Проверить подключение" и нажмите кнопку "ОК".
  7. В обозревателе серверов выберите развернуть дерево подключений к данным, чтобы развернулся узел таблицы Employees. Свойства отдельных полей отображаются в окне "Свойства ".

Открытие подключения SQL Server с помощью обозревателя серверов

  1. Вид Form1 в представлении конструктора.

  2. Employees Из таблицы в обозревателе серверов перетащите поля базы данных FirstName и LastName в Form1. Это действие создает объекты SqlConnection и SqlDataAdapter в форме.

  3. В меню "Вид " выберите панель элементов.

  4. На вкладке "Данные " перетащите DataSet объект (DataSet1) в форму.

  5. В диалоговом окне "Добавление набора данных" выберите "Нетипизированный набор данных" и нажмите кнопку "ОК".

  6. В процедуре Form1_Load события вставьте строку кода перед закрытием объектов DataReader и Connection, чтобы завершить процедуру, вставив строку кода, как показано ниже.

    SqlDataAdapter1.Fill(DataSet1, "Employees")
    myReader.Close()
    myConn.Close()
    
  7. На вкладке "Формы окна " панели элементов перетащите элемент управления DataGrid в Form1.

  8. В процедуре Form1_Load события добавьте следующий код перед строкой myReader.close() для привязки DataGrid к созданному DataSet ранее объекту:

    DataGrid1.SetDataBinding(DataSet1, "Employees")
    
  9. Сохраните и запустите проект.