Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
 Аватар для Pushkinmazila
2 / 2 / 0
Регистрация: 26.12.2015
Сообщений: 79

Вывод дополнительной информации при генерации исключения

18.08.2016, 21:20. Показов 1978. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И так у меня есть часть кода
C#
1
2
3
4
5
6
SqlConnection con = new SqlConnection("Password=" + Password + ";Persist Security Info=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;User ID=" + login + ";Initial Catalog=Names;Data Source=" + ip);
con.Open();
SqlDataAdapter da1 = new SqlDataAdapter(" " + request_textbox.Text + " ", con);
SqlCommandBuilder cb1 = new SqlCommandBuilder(da1);
DataSet ds1 = new DataSet();
da1.Fill(ds1, "Main");
Суть этого кода в том что в request_textbox можно ввести свой запрос проблема в том что происходят исключения при неправильном вводе запроса
А мне необходимо чтоб при исключении пользователю выводилась ошибка (а точнее дополнительные сведения)
Миниатюры
Вывод дополнительной информации при генерации исключения  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.08.2016, 21:20
Ответы с готовыми решениями:

Вывод в див имен из бд и при нажатии вывод в отдельный див дополнительной информации об этом имени
Есть две колонки div в одину(div1) из бд выводиться название зала и день недели, в другую(div2) (изначально не видимо) выводиться...

Некорректный вывод информации при генерации отчета
Всем добрый вечер. Подскажите как исправить ситуацию. При генерации отчета в WinXP (32) вывод информации корректный, в Win7 (64) выводится...

Вывод дополнительной информации по содержимому бд
Здравствуйте, помогите пожалуйста, возможно ли при клике на какую-либо ячейку в бд открывать новую форму или какую-нибудь справку по ее...

9
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
18.08.2016, 21:23
Pushkinmazila, отловите исключение SqlException и в блоке catch и покажите пользователю осмысленное сообщение
0
 Аватар для Pushkinmazila
2 / 2 / 0
Регистрация: 26.12.2015
Сообщений: 79
18.08.2016, 21:28  [ТС]
Что значит осмысленное сообщение
Просто по идеи я не могу предугадать его ошибку
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
18.08.2016, 21:32
Лучший ответ Сообщение было отмечено Pushkinmazila как решение

Решение

Pushkinmazila, вы знаете тип ошибки, этого достаточно. в данном случае, скажите юзеру, что "Sql query has incorrect format." + можно добавить e.Message
0
 Аватар для Pushkinmazila
2 / 2 / 0
Регистрация: 26.12.2015
Сообщений: 79
18.08.2016, 21:42  [ТС]
Спасибо стоило только добавить ex.Message и все решилось
Именно ex.Message и выводит дополнительные сведения об ошибке
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18279 / 14202 / 5368
Регистрация: 17.03.2014
Сообщений: 28,883
Записей в блоге: 1
18.08.2016, 22:01
Pushkinmazila, нужно использовать параметры и проверять входные данные, вместо динамического запроса тогда ошибки не будет. Показывать же пользователю информацию из свойства Message чаще всего плохая идея т.к. там содержится техническая информация которая непонятна обычному пользователю. Особенно если он не знает английского.
0
 Аватар для Pushkinmazila
2 / 2 / 0
Регистрация: 26.12.2015
Сообщений: 79
18.08.2016, 22:55  [ТС]
Маленький секрет пользователь это я либо мои одногрупники айтишники )
Но спасибо все равно , а так яб юзверя не допустил бы до написания запроса либо с генерировал его программно чем кстати и занимался (тема динамический textbox)
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
19.08.2016, 02:14
Цитата Сообщение от Pushkinmazila Посмотреть сообщение
Именно ex.Message и выводит дополнительные сведения об ошибке
А еще бывает и ex.InnerException.
0
 Аватар для Pushkinmazila
2 / 2 / 0
Регистрация: 26.12.2015
Сообщений: 79
19.08.2016, 18:13  [ТС]
Кстати я тут случайно удалил исходник и теперь не могу заполнить dataGridView
я помню что тут осталась вроде всего одна строчка но какая ?

Добавлено через 28 минут
Все вопрос уже решил ) тупо добавлял
C#
1
dataGridView1.DataSource = da1 .Tables[0].DefaultView;
а надо было
C#
1
dataGridView1.DataSource = ds1.Tables[0].DefaultView;
2 символа и уже ошибка я понимаю что это была совсем другая переменная
0
 Аватар для Pushkinmazila
2 / 2 / 0
Регистрация: 26.12.2015
Сообщений: 79
29.08.2016, 17:35  [ТС]
А вот еще вопрос у меня при правильном выполнении выскакивает ложное исключение (текст ложногго исключения мне известен)
Ниже привожу ложное исключение
(Testing_Global_Connection_Sql_Pushkin)
а вот и код
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
 }
                throw new ApplicationException("Инфа для размышления");
            }
           
            catch (Exception ex) when (ex.Message != "Инфа для размышления (Testing_Global_Connection_Sql_Pushkin)") 
            {
 
                string str = "Чет не так,ты уверен что все написал правильно?";
                ApplicationException exTop = new ApplicationException(str, ex);
                exTop.Source = this.Text;
 
                // Show the exception message box with three custom buttons.
                ExceptionMessageBox box = new ExceptionMessageBox(exTop);
 
                box.SetButtonText("Перезапуск проги", "Попытка №"+i,"Все нормально", "Неважно. Ток закройся");
 
                // Set the Retry button as the default.
                box.DefaultButton = ExceptionMessageBoxDefaultButton.Button2;
                box.Symbol = ExceptionMessageBoxSymbol.Question;
                box.Buttons = ExceptionMessageBoxButtons.Custom;
  
                box.Show(this);
 
                // Do something, depending on the button that the user clicks.
                switch (box.CustomDialogResult)
                {
                    case ExceptionMessageBoxDialogResult.Button1:
                        MessageBox.Show("Сек");
                        Application.Restart();
 
                        break;
                    case ExceptionMessageBoxDialogResult.Button2:
                        i++;
                        break;
                    case ExceptionMessageBoxDialogResult.Button3:
                       
                        
                        break;
                    case ExceptionMessageBoxDialogResult.Button4:
                        MessageBox.Show("Ну че тогда пока");
                        Environment.Exit(0);
                        break;
                }
            }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.08.2016, 17:35
Помогаю со студенческими работами здесь

Строки DataGrid и вывод дополнительной информации под каждой строкой по клику
Ситуация: надо вывести доп информацию. Есть DataGrid, в нём куча строк. При нажатии на кнопку в строке - появляеться доп. информация....

Автоматический перенос данных с одного листа в другой (при появлении дополнительной информации)
Помогите пожалуйста! Необходимо чтобы все данные по каждому ученику из листа «Обучаются», при заполнении столбцов «№ протокола» и «дата...

Вывод исключения при вводе Scanner
С помощью класса Scanner записывать данные на русском и английском языке. При вводе слова на английском, должно выходить исключение,...

Отображение дополнительной информации (DataGridView)
Как реализовать следующее? Необходимо, чтобы при наведении на строчку в DataGridView высвечивалась дополнительная информация в...

DirectX 11 Пересылка дополнительной информации в вертексный шейдер
Ребят, раз раз никто не помог с предыдущими вопросами, спрошу другое :D ... 1. В вертексный шейдер могут передаваться параметры одной...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru