Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
3 / 3 / 0
Регистрация: 22.03.2016
Сообщений: 78

Проверка на наличие подключения к БД

12.11.2016, 21:28. Показов 4768. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет читающим)
Подскажите, пожалуйста, как реализовать нечто подобное:
имеется подключение
C#
1
2
3
4
5
6
7
8
9
10
11
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=путь\project.mdf;Integrated Security=True");
 
if(соединение есть)
{
    программа работает
}
 
else
{
   выскакивает окно об отсутствии подключения
}
Буду очень признателен
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.11.2016, 21:28
Ответы с готовыми решениями:

Проверка на наличие подключения по локальной сети
Доброе время суток! Подскажите пожалуйста, как сделать проверку на наличие подключения по локальной сети. Подробнее: я пишу программу,...

Как проверить наличие подключения к локальной сети
Часто приходится отключаться от локальной сети для подключения к Интернету. А как можно проверить - есть ли подключение, чтобы в...

Проверка на наличие
Допустим есть колонка "1" с определенными значениями. Как сделать, чтобы при попытке ввода в колонку "2" значения, которое уже...

5
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
12.11.2016, 21:34
Цитата Сообщение от Kuzmin_Lehich Посмотреть сообщение
как реализовать нечто подобное:
C#
1
2
3
4
5
6
7
try{  
        con.Open()
        //Тут работаем...
}
catch(Exception ex){
       MessageBox.Show("Подключение отвалилось)))");
}
0
3 / 3 / 0
Регистрация: 22.03.2016
Сообщений: 78
12.11.2016, 21:59  [ТС]
insite2012, суть в том, что работаем с БД мы потом, дальше в коде, типа
C#
1
2
3
4
5
6
7
8
9
10
11
con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT***FROM*Animals*WHERE*d_id='1'";
            cmd.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            animalslist.DataSource = dt.DefaultView;
            animalslist.DisplayMember = "Animals";
            animalslist.ValueMember = "d_id";
просто вставив то, что Вы скинули, в функцию загрузки программы, то при нажатии на кнопку вылет, т.е. не срабатывает проверка

Добавлено через 20 минут
Сейчас вставил это дело в функцию, всё сработало у меня, когда путь изменил к бд, всё годно, а на другом компьютере, где нет бд, ошибка не такая, крики вопли
0
2 / 2 / 4
Регистрация: 02.12.2013
Сообщений: 153
12.11.2016, 23:11
покажи пожалуйста код подключения к бд(полностью)
0
3 / 3 / 0
Регистрация: 22.03.2016
Сообщений: 78
12.11.2016, 23:27  [ТС]
GROM32RUS,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
public partial class Form1 : Form
    {
        SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\User\kuzmin\Documents\Visual Studio 2015\Projects\Database3\Database3\project.mdf;Integrated Security=True");
        
        public Form1()
        {
            InitializeComponent();
            
        }
 
private void Form1_Load(object sender, EventArgs e)
        {
            panel3.Visible = false;
            
        }
 
//всякая хрень для формы//
 
private void tundra_Click(object sender, EventArgs e)//тут пошло повторение верхней функции, только для d_id = 2, и так ниже до 7-го
        {
            Bitmap tundraanimals = new Bitmap("C:\\Users\\kuzmi\\Documents\\Visual Studio 2015\\Projects\\database3\\database3\\тундраживотные.png");
            pictureBox15.Image = tundraanimals;
            zagolovok.Text = "Климатические зоны: Тундра";
            anim();
 
            con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT***FROM*Animals*WHERE*d_id='2'";
            cmd.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            animalslist.DataSource = dt.DefaultView;
            animalslist.DisplayMember = "Animals";
            animalslist.ValueMember = "d_id";
 
            SqlCommand cmdd = con.CreateCommand();
            cmdd.CommandType = CommandType.Text;
            cmdd.CommandText = "SELECT***FROM*Rasten*WHERE*d_id='2'";
            cmdd.ExecuteNonQuery();
            DataTable dtt = new DataTable();
            SqlDataAdapter daa = new SqlDataAdapter(cmdd);
            daa.Fill(dtt);
            rasten.DataSource = dtt.DefaultView;
            rasten.DisplayMember = "Rastenia";
            rasten.ValueMember = "d_id";
 
            con.Close();
            animalslist.ClearSelected();
            rasten.ClearSelected();
 
        }
кусок такой, кода аж 400+ строк, но там левое и повторяющееся это же
нужно при запуске программы сделать проверку на наличие БД, в функции form1_load

я сделал на основе примера insite2012, вот такое
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
try
            {
            con.Open();
            SqlCommand cmd = con.CreateCommand();//создание объекта на основе бд
            cmd.CommandType = CommandType.Text;//указывает тип запроса к базе данных
            cmd.CommandText = "SELECT***FROM*Animals*WHERE*d_id='1'";//текстовая комманда, выбор всех животных в таблице Animals, принадлежащих по d_id=1 первому элементу таблицы area, т.е. животные арктической пустыни 
            cmd.ExecuteNonQuery();//происходит транзакция и узнаёт количество строк в таблице с животными, принадлежащих артике
            DataTable dt = new DataTable();//создание таблицы для хранения этих строк
            SqlDataAdapter da = new SqlDataAdapter(cmd);//адаптирует строки для занесения их в таблицу на основе объекта cmd, созданного на основе бд, смотрим выше
            da.Fill(dt);//заносим эти строки в таблицу
            animalslist.DataSource = dt.DefaultView;//для вывода животных в правой панели указываем источником данных нашу таблицу dt, созданную чуть выше
            animalslist.DisplayMember = "Animals";//указывается, что используется таблица из бд под названием Animals
            animalslist.ValueMember = "d_id";//и принадлежат они по d_id
 
            SqlCommand cmdd = con.CreateCommand();//здесь всё то же самое, просто другие имена таблиц, команд и т.п.
            cmdd.CommandType = CommandType.Text;
            cmdd.CommandText = "SELECT***FROM*Rasten*WHERE*d_id='1'";
            cmdd.ExecuteNonQuery();
            DataTable dtt = new DataTable();
            SqlDataAdapter daa = new SqlDataAdapter(cmdd);
            daa.Fill(dtt);
            rasten.DataSource = dtt.DefaultView;
            rasten.DisplayMember = "Rastenia";
            rasten.ValueMember = "d_id";
 
            con.Close();//закрытие соединения с бд
            animalslist.ClearSelected();//убираем выделение первого элемента, без этой строки при запуске первое животное будет выделено, а это стрёмно
            rasten.ClearSelected();//аналогично для растений
            }
            catch (Exception ex)
            {
                MessageBox.Show("Подключение отвалилось)))");
            }
Получилось, на моём компуктере робит, когда путь к бд меняю, а на другом компе нет :\
0
2 / 2 / 4
Регистрация: 02.12.2013
Сообщений: 153
13.11.2016, 00:56
как минимум советую выводить код ошибки))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.11.2016, 00:56
Помогаю со студенческими работами здесь

Проверка на наличие
Так. Есть файл, который находится на sitename.ru/file.txt. Я посылаю $_GET, далее должна быть проверка на наличие в этом файле $_GET и если...

Проверка на наличие
Пытаюсь реализовать подобие входа на сайт. Возник такой вопрос, есть ли такая функция которая бы возвращала кол-во записей подошедших по...

Проверка на наличие в БД
Всем доброго времени суток!) У меня такое вот задание: В базе данных создать таблицу логинов и паролей,ввести через форму логин и...

Проверка на наличие файлов
Как можно сделать проверку на наличие большого количества файлов при учете того, что есть их список. Я представляю, что нужно как-то это...

Проверка на наличие записи в БД
Добрый вечер, форумчане! Еще вопросы появились: 1. Как сделать проверку на наличие всех записей в бд? 2. Пользователь арендует...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru