Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 571
Эндрю Троелсен
Таблица 22.6. Члены типа DbConnection
Член | Описание |
---|---|
BeginTransaction() | Метод, используемый для начала транзакции |
ChangeDatabase() | Метод, используемый для смены базы данных при открытом соединении |
ConnectionTimeout | Доступное только для чтения свойство, возвращающее значение времени ожидания установки соединения, прежде чем будет сгенерирована ошибка (значением по умолчанию является 15 секунд). Чтобы изменить значение, используемое по умолчанию, укажите в строке соединения требуемое значение Connect Timeout (Например, Сonnect Timeout=30) |
Database | Свойство, сообщающее имя базы данных, используемой объектом соединения |
DataSource | Свойство, сообщающее информации о месте размещения базы данных, используемой объектом соединения |
GetSchema() | Метод, возвращающий объект DataSet, который содержит схему базы данных, полученную от источник данных |
State | Свойство, устанавливающее текущее состояние соединения в соответствии со значениями из перечня ConnectionState |
Как видите, свойства типа DbConnection в большинстве своем доступны только для чтения (в силу своей природы) и оказываются полезными только тогда, когда вы хотите получить характеристики соединений в среде выполнения. Чтобы переопределить значение, устанавливаемое по умолчанию, вы должны изменить строку соединения. Например, следующая строка соединения увеличивает время ожидания соединения с 15 до 30 секунд (путем указания соответствующего значения в сегменте Connect Timeout строки соединения).
static void Main(string[] args) {
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "uid=sa;pwd=;initial Catalog=Cars;" +
"Data Source= (local);Connect Timeout = 30";
cn.Open();
// Новая вспомогательная функция (см. ниже).
ShowConnectionStatus(cn);
…
}
В этом фрагменте программного кода обратите внимание на то, что теперь объект соединения передается в виде параметра новому вспомогательному статическому методу ShowConnectionStatus() класса Program, реализованному так, как показано ниже.
static void ShowConnectionStatus(DbConnection cn) {
// Отображение информации о текущем объекте соединения.
Console.WriteLine("***** Информация о соединении *****");
Console.WriteLine("Размещение базы данных: {0}", cn.DataSource);
Console.WriteLine("Имя базы данных: {0}", cn.Database);
Console.WriteLine ("Время ожидания: {0}", cn.ConnectionTimeout);
Console.WriteLine("Состояние соединения: {0}\n", cn.State.ToString());
}
Большинство указанных свойств самоочевидно, Но свойство State все же требует некоторого обсуждения. Этому свойству можно назначить любое значение из перечня ConnectionState