Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/26: Рейтинг темы: голосов - 26, средняя оценка - 4.62
0 / 0 / 1
Регистрация: 01.10.2012
Сообщений: 43
1

Нужно чтоб в ComboBox от одной таблицы отображались значения из соответствующего поля другой таблицы

01.03.2015, 13:46. Показов 5102. Ответов 25
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно чтоб в combobox от одной таблицы отображались значения из соответствующего поля другой таблицы. Настроил отображения этих значений через "Combobox Задачи". Как сделать, чтоб отображались только те, значения, которые нужны? Например, есть поле "поставщик", и надо чтоб в combobox отображался только счет относящийся к этому "поставщику". Собственно, счета и поставщики указаны в другой таблице. Как это настроить или установить связи между таблицами? Подскажите, пожалуйста.
Миниатюры
Нужно чтоб в ComboBox от одной таблицы отображались значения из соответствующего поля другой таблицы   Нужно чтоб в ComboBox от одной таблицы отображались значения из соответствующего поля другой таблицы  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2015, 13:46
Ответы с готовыми решениями:

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

Получение поля таблицы, при выборе соответствующего из comboBox
Подскажите, пожалуйста на конкретном примере. Есть БД с полями: "Nazvanie_otelya", "Nomer_otelya"...

Сложный запрос? Поля из одной таблицы, и поля из другой таблицы, но...
Вот так мы делаем выборку из основной таблицы table1: SELECT t1.ID, t1.f2, t1.f3 FROM table1 t1...

Как в поле ID одной таблицы записать значение поля ID другой таблицы
В БД две таблицы: 1)USERS с полями ID_User, Name, Password. В нее записываются пользователи...

25
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
02.03.2015, 17:45 21
Author24 — интернет-сервис помощи студентам
Azatot, Зачем таблица InAcc в другом DataSet'е? Вам нужно, чтобы между талицами SupplierBook и InAcc в DatSet была связь, которая у вас существует в базе данных. Запихивайте эти две таблицы в 1 DataSet, создавайте между ними связь. Потмоу в дизайнере InAccBindingSource для свойства DataSource нужно будет выбрать SupplierBookBindingSource, и в качестве DataMember - созданную связь между этими двумя таблицами.
1
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
02.03.2015, 18:16 22
Лучший ответ Сообщение было отмечено Azatot как решение

Решение

Цитата Сообщение от Azatot Посмотреть сообщение
Может есть еще идеи?
Думаю это точно будет работать:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            SqlCommand sqlcom= new SqlCommand("SELECT * FROM SuppliersBook;", ConToBase);
            SqlDataReader MyReader; 
            ConToBase.Open();
            MyReader = sqlcom.ExecuteReader();
 
            while (MyReader.Read())
            {
                 string Acc = MyReader.GetValue(1).ToString();
                 If (Acc == поставщикTextBox.Text)
                 {
                      счетComboBox.Items.Add(MyReader.GetValue(2).ToString()); // хотя непонятно, зачем комбо для одного значения? Я бы поставил текстбокс или написал так: 
                   // счетComboBox.Text = MyReader.GetValue(2).ToString()
                 }           
            } 
            ConToBase.Close();
1
0 / 0 / 1
Регистрация: 01.10.2012
Сообщений: 43
02.03.2015, 19:28  [ТС] 23
chumich, вот это работает, как нужно. Благодарю. Большущее спасибо за помощь. Сам я не особо в программировании, но все равно курсовую надо делать.
Цитата Сообщение от chumich Посмотреть сообщение
хотя непонятно, зачем комбо для одного значения?
На случай если все-таки другой счет вручную придется вписать, но и одновременно увидеть тот что в базе.
Позже попробую тот вариант, что советовал kodv.
p.s.: просто для интереса, из-за чего мог не работать предыдущий вариант?
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
SqlCommand sqlcom= new SqlCommand("SELECT [Расчетный счет] FROM SuppliersBook WHERE Поставшик='"+ поставщикTextBox.Text +"';", ConToBase);
 
            SqlDataReader MyReader; 
            ConToBase.Open();
            MyReader = sqlcomm.ExecuteReader();
 
            while (MyReader.Read())
            {
               string Acc = MyReader.GetValue(0).ToString();
                счетComboBox.Items.Add(Acc);
            }
 
            ConToBase.Close();
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
02.03.2015, 20:02 24
Цитата Сообщение от Azatot Посмотреть сообщение
из-за чего мог не работать предыдущий вариант
Стопроцентно не знаю, но если второго сообщения не было, то значит ридер не читал данные, то есть их у него не было. А значит что-то не так в SqlCommand. Почему-то мне кажется, что это связано с вводом текстбокса. Такой код для Access используется, возможно для sql немного по-другому, хотя не факт. Но, всё-таки я грешу на SqlCommand.
0
0 / 0 / 1
Регистрация: 01.10.2012
Сообщений: 43
02.03.2015, 20:07  [ТС] 25
chumich,
Цитата Сообщение от chumich Посмотреть сообщение
ридер не читал данные
Это то ясно. Но дело в том, что ранее с этой же БД я использовал
T-SQL
1
SqlCommand SelectCommand = new SqlCommand("select * from Authentication where userLogin='" + this.txtLogin.Text + "' and userPassword='" + this.txtPassword.Text + "' ;", ConToBase);
А синтаксис команд тут как бы идентичный. И в этом случае получается неведомая хрень
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
02.03.2015, 20:27 26
Глянул быстренько примеры кодов в инете, такое впечатление, что всё верно написано. Я вообще не люблю WHERE. Пусть это немного не "рентабельно" , но я обычно вытаскиваю все данные, кладу их в массивы, а потом делаю с ними что хочу. Из самых частых проблем, которые встречаю при выборе в БД данных по условию - это несоответствие написаний данных. Часто имеются лишние пробелы (тогда использую Trim()), то регистры не те, то буквы и т. д. С массивами работать проще .
1
02.03.2015, 20:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2015, 20:27
Помогаю со студенческими работами здесь

При выборе элемента из любой таблицы нужно, чтоб отображались элементы из 2 других таблиц
При выборе элемента из любой таблицы нужно, чтоб отображались элементы из 2 других таблиц....

Можно ли как нибудь добавить данные из 1 поля 1 таблицы в pickllist другого поля другой таблицы?
Добавить данные в picklist полю ФИО, чтоб получился выпадающий список Бред конечно, ноо... Может...

Добавление в поля одной таблицы дынных из другой
Всем привет! Делаю дипломную "База данных аптеки". БД делаю с помощью Paradox 7. Есть три таблицы:...

Размещение данных из поля одной таблицы в 4-х полях другой
Здравствуйте! Есть задача: разместить в полях "автор1", "автор2", "автор3", "автор4" таблицы...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru