Технология Microsoft ADO.NET

Wagner project pro 117 окрасочный агрегат.

Обработка исключений - часть 2


Интерфейс приложения готов. Подключаем пространство имен для работы с базой данных:

using System.Data.SqlClient;

Объекты ADO .NET и весь блок обработки исключений помещаем в обработчик кнопки "Соединение":

private void btnConnect_Click(object sender, System.EventArgs e) { SqlConnection conn = new SqlConnection(); label1.Text = ""; try { //conn.ConnectionString = "workstation id=9E0D682EA8AE448;data source=\"(local) //\";" + "persist security info=True;initial catalog=Northwind; //user id=sa;password=12345";

//Строка ConnectionString в качестве параметров //будет передавать значения, введенные в текстовые поля: conn.ConnectionString = "initial catalog=" + txtInitialCatalog.Text + ";" + "user id=" + txtUserID.Text + ";" + "password=" + txtPassword.Text + ";" + "data source=" + txtDataSource.Text + ";" + "workstation id=9E0D682EA8AE448;persist security info=True;"; SqlDataAdapter dataAdapter = new SqlDataAdapter("SELECT * FROM Customers", conn); DataSet ds = new DataSet(); conn.Open(); dataAdapter.Fill(ds); dataGrid1.DataSource = ds.Tables[0].DefaultView; } catch (SqlException OshibkiSQL) { foreach (SqlError oshibka in OshibkiSQL.Errors) { //Свойство Number объекта oshibka возвращает //номер ошибки SQL Server switch (oshibka.Number) { case 17: label1.Text += "\nНеверное имя сервера!"; break; case 4060: label1.Text += "\nНеверное имя базы данных!"; break; case 18456: label1.Text += "\nНеверное имя пользователя или пароль!"; break; } //Свойство Class объекта oshibka возвращает //уровень ошибки SQL Server, //а свойство Message - уведомляющее сообщение label1.Text +="\n"+oshibka.Message + " Уровень ошибки SQL Server: " + oshibka.Class; } } //Отлавливаем прочие возможные ошибки: catch (Exception ex) { label1.Text += "\nОшибка подключения: " + ex.Message; } finally { conn.Dispose(); } }




Начало  Назад  Вперед



Книжный магазин