Упражнение 2. Создание подключений с помощью мастера



В этом упражнении используется способ создания подключений с помощью мастера Data Source Configuration Wizard.

1. Выберите в меню Data команду Add New Data Source.

2. В окне Choose a Data Source Type оставьте тип источника данных по умолчанию Database.

3. В окне Choose a Database Model выберите Dataset.

4. В окне Choose a Your Data Connection проверьте, что созданное ранее подключение отображается в списке подключений. Для создания нового подключения нажмите кнопку New Connection

5. С помощью окна Add Connection создайте подключение по аналогии с добавлением подключения в прошлом упражнении.

6. В окне Save the Connection String to … сохраните строку подключения в конфигурационном файле приложения и укажите имя подключения.

7. Страница Choose Your Database Objects позволяет выбирать таблицы, представления, хранимые процедуры для работы в приложении. Раскройте узел Tables и выберите таблицы Customers и Orders.

8. Щелкните Finish, таким образом, типизированный набор данных с указанным в мастере добавлен в проект.

Упражнение 3. Добавление объектов ADO.NET в WinForms приложение

 Создайте новое WinForms-приложение (назовите его DBCommand).

В следующих упражнениях используются поставщик данных SQL Client.NET Data Provider. Добавьте на панель инструментов требуемые для дальнейшей работы компоненты .Net Framework: SqlCommand, SqlCommandBuilder, SqlConnection, SqlDataAdapter.

Добавление в приложение объекта SqlConnection

В этом разделе, вы добавите объект SqlConnectionв ваше приложение и настроите строку соединения на подключение к БД Northwind на локальном SQL сервере.

1. Перетащите объект SqlConnectionна рабочую область формы. В результате будет создан объект SqlConnectionс именем SqlConnection1.

2. В окне Properties объекта найдите свойство ConnectionString. Раскройте выпадающий список напротив имени свойства и выберите < New Connection.>.

3. В появившемся окне укажите свой сервер, например, в предыдущих упражнениях – (local) (у вас может быть другое имя, будьте внимательны) и выберите требуемую базу данных – Northwind. Проверьте подключение и в случае удачного исхода нажмите OK.

4. Проверьте, что свойство ConnectionString объекта SqlConnection1 имеет значение строки подключения.

Добавление объекта SqlCommand в приложение

В этом разделе вы добавите в приложение объект SqlCommandи настроите его так, чтобы он мог исполнять SQL запрос через соединение SqlConnection1.

1. Перейдите на вкладку Data панели Toolbox, и перетащите объект SqlCommandна форму. В результате в приложении, будет создан объект SqlCommand1.

2. В окне Properties объекта SqlCommand1 укажите для свойства Connection значение SqlConnection1.

3. Свойство CommandText, содержащий запрос на выборку данных настроим в следующем упражнении.

Упражнение 4. Исполнение запроса и отображение результата

В этом упражнении реализуете несколько команд на выполнение запросов в БД Northwind с помощью объектов SqlConnection и SqlCommand.

Выполнение простого запроса

Реализуйте функциональность для выполнения команды, которая заполняет текстовое поле списком значений CustomerID и CompanyName из таблицы Customers.

1. Импортируйте пространство имен:

using System.Data.SqlClient;

2. Добавьте на форму кнопку. Установите свойству Text значение Запрос данных.

3. В окне Properties укажите для свойства CommandText объекта SqlCommand1 значение, содержащее запрос на выборку данных:

SELECT CustomerID, CompanyName FROM Customers

4. Реализуйте в обработчике события Click следующую функциональность:

a. Создайте объект StringBuilder для хранения результата запроса:

System.Text.StringBuilder results = new System.Text.StringBuilder();

b. Укажите, что требуется выполнить инструкцию SQL:

sqlCommand1.CommandType = CommandType.Text;

c. Непосредственно перед выполнением команды откройте подключение:

sqlConnection1.Open();

d. Присвойте результаты инструкции объекту SqlDataReader:

SqlDataReader reader = sqlCommand1.ExecuteReader();

bool MoreResults = false;

do

{

    while (reader.Read())

    {

        for (int i = 0; i < reader.FieldCount; i++)

        {

            results.Append(reader[i].ToString() + "\t");

        }

        results.Append(Environment.NewLine);

    }

    MoreResults = reader.NextResult();

} while (MoreResults);

MoreResults = reader.NextResult();

} while (MoreResults);

e. Закройте объект SqlDataReader и подключение:

reader.Close();

sqlCommand1.Connection.Close();

f. Выведете результаты в текстовое поле:

ResultsTextBox.Text = results.ToString();

5. Запустите и протестируйте приложение.

Вызов хранимой процедуры

Реализуйте функциональность для выполнения команды, которая запускает хранимую процедуру «Ten Most Expensive Products».           

1. Добавьте на форму новую кнопку. Установите свойству Text значение Вызов процедуры.

2. Добавьте на форму новый объект SqlCommandна форму. В результате в приложении, будет создан объект SqlCommand2.

3. В окне Properties объекта SqlCommand2 укажите для свойства Connection значение SqlConnection1.

4. Реализуйте в обработчике события Click требуемую функциональность по аналогии с предыдущим обработчиком, учитывая, что различие между вызовом команды SQL и вызовом хранимой процедуры состоит в том, что для вызова процедуры значение свойства CommandType устанавливается равным StoredProcedure, а в свойстве CommandText указывается имя хранимой процедуры.

5. В итоге обработчик события Click будет выглядеть следующим образом:

System.Text.StringBuilder results = new System.Text.StringBuilder();

   sqlCommand2.CommandType = CommandType.StoredProcedure;

   sqlCommand2.CommandText = "Ten Most Expensive Products";

   sqlCommand2.Connection.Open();

   SqlDataReader reader = sqlCommand2.ExecuteReader();

       while (reader.Read())

       {

           for (int i = 0; i < reader.FieldCount; i++)

           {

               results.Append(reader[i].ToString() + "\t");

           }

           results.Append(Environment.NewLine);

       }

       reader.Close();

       sqlCommand2.Connection.Close();

       ResultsTextBox.Text = results.ToString();

6. Запустите и протестируйте приложение. Обратите внимание, что в первом случае свойство CommandText инициализировалось с помощью окна Properties, а во втором непосредственно в коде. Определите, какой способ является предпочтительным.


Дата добавления: 2019-02-26; просмотров: 225; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!