Строка соединения ConnectionString определяет параметры, необходимые для установления соединения с источником данных. Строка соединений при использовании мастеров генерируется средой, но можно (и желательно – во избежание неточностей и ошибок) писать эту строчку вручную. Рассмотрим еще раз строки соединения, которые были созданы при подключении к базам данных BDTur_firm.mdb и BDTur_firmSQL.mdf.
// База данных BDTur_firm:
Provider=Microsoft.Jet.OLEDB.4.0;
Data Source="D:\ВМИ\For ADO\BDTur_firm.mdb" // путь к БД
В этих строках через точку с запятой просто перечисляются параметры соединения. В таблице приводятся основные значения этих параметров.
Большинство источников данных поддерживает ограниченное количество соединений. Так, например, база данных MS Access может поддерживать одновременную работу не более чем с 255 пользователями. При попытке обращения к базе данных, лимит соединений которой исчерпан, пользователь не получит нужной ему информации и будет вынужден ждать освобождения соединения.
Задача разработчика заключается в минимизации времени связи с базой данных, поскольку соединение занимает полезные системные ресурсы. Когда вызывается метод объекта DataAdapter (например, метод Fill), то он сам проверяет, открыто ли соединение. Если соединения нет, то DataAdapter открывает соединение, выполняет задачи и затем закрывает соединение.
Явное управление соединением обладает рядом преимуществ:
• дает более чистый и удобный для чтения код;
• помогает при отладке приложения;
• является более эффективным.
Для явного управления соединением используется объект Connection. Для того чтобы разобраться с возможностями этого объекта, создадим новый проект и, перетащив элемент управления DataGridView, установим свойству Dock значение Fill. Перейдем в код формы и подключим пространство имен:
using System.Data.OleDb;
В конструкторе Form1 после InitializeComponent создим объект Connection:
OleDbConnection conn = new OleDbConnection(ConnectionString);
В качестве параметра объекту conn передается строка подключения ConnectionString. Можно также устанавливать строку подключения через свойство созданного объекта сonn:
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = ConnectionString;
В качестве строки соединения можно использовать одну из строк из примеров для приложения, разработанного выше. Например,