Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 23:34   #1
tumanovalex
Пользователь
 
Регистрация: 07.03.2011
Сообщений: 83
Вопрос Обработка неправильного обращения к базе данных

Пробую при неправильном подключении к базе данных использовать исключения:
Код:
private void MainForm_Load(object sender, EventArgs e)
{
  connection = new OleDbConnection();
  connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\\MyBaseTest2.mdb" ;
 try
  {
    connection.Open();
  }
  catch
  {
    MessageBox.Show("Ошибка соединения с базой данных MyBase.mdb");
    Application.Exit();
  }
  OleDbCommand  command    = connection.CreateCommand();
  command.CommandText      = "SELECT objName FROM tblObject";
К сожалению, Application.Exit() не помогает. Подскажите, пожалуйста, как правильно завершить программу при ошибке подключения?
tumanovalex вне форума Ответить с цитированием
Старый 12.05.2011, 23:42   #2
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Не грузится ли чего-нибудь в отдельном потоке в программе?
Если одна форма в программе, то Close() на форме должно хватить для завершения.

И не повредит сделать Dispose на connection
Spawn™Production® вне форума Ответить с цитированием
Старый 13.05.2011, 00:03   #3
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

Цитата:
Сообщение от tumanovalex Посмотреть сообщение
Пробую при неправильном подключении к базе данных использовать исключения:
Код:
private void MainForm_Load(object sender, EventArgs e)
{
  connection = new OleDbConnection();
  connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\\MyBaseTest2.mdb" ;
 try
  {
    connection.Open();
  }
  catch
  {
    MessageBox.Show("Ошибка соединения с базой данных MyBase.mdb");
    Application.Exit();
  }
  OleDbCommand  command    = connection.CreateCommand();
  command.CommandText      = "SELECT objName FROM tblObject";
К сожалению, Application.Exit() не помогает. Подскажите, пожалуйста, как правильно завершить программу при ошибке подключения?
что значит не помогает. у меня в обработчике FormLoad всё нормально срабатывает
если же надо останавливать выполнение дальнейших действий следует использовать return
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 13.05.2011, 19:42   #4
tumanovalex
Пользователь
 
Регистрация: 07.03.2011
Сообщений: 83
По умолчанию

Если поставить return, то форма для работы с БД загружается, а это бесполезно, т.к. соединения с базой данных нет
tumanovalex вне форума Ответить с цитированием
Старый 13.05.2011, 22:12   #5
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Цитата:
Если поставить return, то форма для работы с БД загружается, а это бесполезно, т.к. соединения с базой данных нет
return после Application.Exit()
и оберните уж тогда connection в using
Spawn™Production® вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет нажатия кнопки и запрет неправильного ввода данных De_Kurlzz Помощь студентам 1 15.06.2011 15:14
Защита от неправильного ввода Christina_2010 PHP 2 09.06.2010 13:28
Поиск в базе данных Egik_net БД в Delphi 3 17.02.2010 21:47
Поиск в базе данных St-Dyx Microsoft Office Excel 8 19.10.2008 12:13