Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
KennyPanders
2 / 2 / 0
Регистрация: 21.11.2015
Сообщений: 75
1

Как вернуть одно string-значение из БД ?

03.04.2016, 16:57. Просмотров 370. Ответов 4
Метки нет (Все метки)

Здравствуйте, никак не могу разобраться с вопросом. Нужно вернуть одиночное значение имени клиента из БД.
Постоянно лезет Эксепшны.. Мой запрос заведомо возвращает одно едиственное значение. Помогите пожалуйста, люди добрые.
Вот моя попытка, но она не работает пока..

C#
1
2
3
4
5
6
7
8
 string connStr = GlobalSettings.ConnectString;
            using (SqlConnection cn = new SqlConnection(connStr))
            {
               string baseClientName = null ;
               SqlCommand baseClient = new SqlCommand("SELECT ClientName FROM Клиенты WHERE ID=(Select ОсновнойКлиент FROM Организации WHERE ID = (SELECT MIN(ID) FROM Организации WHERE Организации.Название ='" + comboBox1.Text + "'))", cn);
                baseClientName = baseClient.ExecuteScalar().ToString();
                comboBox4.Text = baseClientName;
             }

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2016, 16:57
Ответы с готовыми решениями:

Какое одинаковое значение можно вернуть из функций <string> f () и vector < <string> > f()?
Понятное дело, что всё обсуждение будет вертеться вокруг аналога NULL. char* f_0 () { return...

Не выходит вернуть и записать в файл значение переменной типа string
Здравствуйте. Не вижу где ошибка в программе, много уже что перепробовал, но, увы, одно и тоже....

MySQL. Как вернуть одно и значений поля таблицы родителя?
Суть в аттатче. Табличка с расписанием для нескольких групп. Думал, думал и зашел в тупик — &quot;А...

Как вернуть List<string>?
всем привет, вопрос: как сделать return елементов List, если есть такой метод public...

Как вернуть string из функции?
Вот вам умные дяди скрин ковырялся я ковырялся так и не понял в чем касяк мб функцию надо по...

4
Igr_ok
460 / 420 / 197
Регистрация: 04.08.2015
Сообщений: 1,152
03.04.2016, 20:03 2
Цитата Сообщение от KennyPanders Посмотреть сообщение
Select ОсновнойКлиент FROM Организации
Такое подозрение, что ОсновнойКлиент - это название, а не ID.
Цитата Сообщение от KennyPanders Посмотреть сообщение
baseClientName = baseClient.ExecuteScalar().ToString();
Если запрос вернет NULL, возникнет исключение. Поэтому
C#
1
2
3
object baseClientName = baseClient.ExecuteScalar();
if(baseClientName !=null)
{...}
1
KennyPanders
2 / 2 / 0
Регистрация: 21.11.2015
Сообщений: 75
03.04.2016, 20:38  [ТС] 3
Спасибо, однако не помогло. Пишет что для ExecuteScalar требуется открытое и активное подключение.
Однако оно вроде как имеется т.к. мы работаем в блоке using. Не понятно, почему так происходит.

По таблицам поясню: в таблице Организации есть Имя организации и ID клиента.
Своим запросом я получаю Имя этого клиента по его ID и хочу записать его в string переменную
0
kodv
1432 / 1105 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
04.04.2016, 03:43 4
Цитата Сообщение от KennyPanders Посмотреть сообщение
Пишет что для ExecuteScalar требуется открытое и активное подключение.
Однако оно вроде как имеется т.к. мы работаем в блоке using. Не понятно, почему так происходит.
Почему непонятно? Единственное, что делает блоки using - вызвает метод Dispose для инициализированных в using объектов при выходе из блока. То есть, using соединение с БД не открывает, вы этого тоже не делаете, но удивляетесь, почему .NET требует от вас открытого соединения? Открывается соединение при помощи метода Open.
PS:
T-SQL
1
2
3
4
5
6
SELECT ClientName
    FROM Клиенты
    WHERE ID = (SELECT TOP 1 ОсновнойКлиент
                    FROM Организации
                    WHERE Название = @OrgName
                    ORDER BY Id)
1
KennyPanders
2 / 2 / 0
Регистрация: 21.11.2015
Сообщений: 75
04.04.2016, 09:42  [ТС] 5
Да, это я неверно понимал. Большое вам спасибо! Все работает!
0
04.04.2016, 09:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2016, 09:42

Как вернуть string в методе класса?
Как корректно вернуть строковую переменную в методе класса getString() , чтобы при обращении к нему...

как вернуть значение?
Здравствуйте не могу сделать, не знаю как! #include &lt;iostream&gt; #include &lt;iomanip&gt; #include...

Как вернуть значение?
Пробовал уже по всякому мне нужно вернуть значение вот этой стороки myQ.Enqueue(int.Parse(line));...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru