Манипулирование строками соединений 


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



ЗНАЕТЕ ЛИ ВЫ?

Манипулирование строками соединений



Для задания строки соединения создадим метод GetDatabaseConnection, который возвращает экземпляр класса SqlConnection.

private SqlConnection GetDatabaseConnection(string name){ SqlConnection conn = null; ConnectionStringSettings setting = ConfigurationManager.ConnectionStrings[name]; if (setting!= null) try { conn = new SqlConnection(setting.ConnectionString);/// Проверка соединения с сервером базы данных conn.Open(); conn.Close(); } catch (SqlException ex) {      MessageBox.Show("Прерывание при соединении с базой данных:\n\n        Проверьте строку соединения в конфигурационном файле", "Предупреждение!",          MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); conn = null; } else { MessageBox.Show("Отсутствует соединение с базой данных\n\n Проверьте имя строки соединения в конфигурационном файле",   "Предупреждение!", MessageBoxButtons.OK, MessageBoxIcon.Warning,     MessageBoxDefaultButton.Button1); } return conn;}

В данном коде используются классы ConnectionStringSettings и ConfigurationManager из пространства имен System.Configuration. Данное пространство имен необходимо подключить к проекту. Для этого в главном меню выберите пункт Project / Add Reference (рисунок 14.1) или в окне Solution Explorer щелкните правой кнопкой мыши на пункте Reference (рисунок 14.2).

 

Рис. 14.1. Выбор режима добавления ссылки на новое пространство имен из главного меню

 

Рис. 14.2. Выбор режима добавления ссылки на новое пространство имен из контекстного меню

 

В окне Add Reference выберите пространство имен System.Configuration и, нажав кнопку OK, добавьте ссылку в проекте на него (рисунок 14.3).

 

Рис. 14.3. Окно Add Reference добавления ссылок в проект

 

Кроме того, необходимо в файле FormEmployee.cs добавить спецификацию пространства имен System.Configuration (рисунок 14.4).

 

Рис. 14.4. Спецификация пространства имен System.Configuration в файле FormEmployee.cs

 

В методе GetDatabaseConnection вначале объявляется экземпляр conn класса SqlConnection. Далее читается раздел именованной строки соединения (с этой целью используется класс ConnectionStringSettings) из конфигурационного файла. Экземпляру setting присваивается значение строки соединения с помощью свойства ConnectionStrings статического класса ConfigurationManager.

Для корректной работы приложения необходимо проверить правильность полученной информации из конфигурационного файла. При проверке сначала анализируется сформирована ли какая-нибудь строка соединения if (setting!= null), а затем - корректность сформированной строки

try{ conn = new SqlConnection(setting.ConnectionString); conn.Open(); conn.Close();}catch (SqlException ex){ MessageBox.Show("Прерывание при соединении с базой данных:\n\n   Проверьте строку соединения в конфигурационном файле", "Предупреждение!",     MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); conn = null;}

После добавления в код класса FormEmployee метода GetDatabaseConnection необходимо провести модификацию приложения. Во-первых, в коде класса FormEmployee необходимо объявить экземпляр conn класса SqlConnection. Во-вторых, требуется модификация конструктора класса.

public FormEmployee(){ InitializeComponent(); bmEmployee = this.BindingContext[dsEmployee, "Employee"]; bmEmployee.PositionChanged +=new EventHandler(BindingManagerBase_PositionChanged); conn = GetDatabaseConnection("Employee"); if (conn == null) { Application.Exit(); } else { daEmployee.Connection = conn; daJobTitle.Connection = conn; }}

В приведенном коде добавленные строки выделены. Модификация конструктора класса FormEmployee приводит к тому, что экземпляр соединения с базой данных conn задается с помощью метода GetDatabaseConnection. Затем полученное соединение передается свойству Connection адаптеров daEmployee и daJobTitle. Если экземпляр соединения с базой данных conn не сформирован, то работа приложения завершается.

При выполнении приложения, если не найдена в конфигурационном файле именованная строка соединения, то выдается предупреждение, приведенное на рисунке 14.5, а в случае неправильной строки соединения выдается предупреждение, приведенное на рисунке 14.6.

 

Рис. 14.5. Предупреждение об отсутствии именованная строка соединения

 

Рис. 14.6. Предупреждение об ошибке в строке соединения

 

Задание на лабораторную работу

  1. Изучить теоретический материал.
  2. Модифицируйте приложение для обеспечения программой настройки соединения с базой данных.
  3. Протестируйте работу приложения и продемонстрируйте возможности манипулирования строкой соединения приложения, заданной в конфигурационном файле, преподавателю.

 

 



Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 51; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.71.237 (0.004 с.)