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

Создание универсального метода выборки из БД и прикрепления в качестве источника данных к комбобоксу

06.04.2018, 01:04. Просмотров 142. Ответов 3
Метки нет (Все метки)

Подскажите пожалуйста! Я в DataSet ResultData гружу данные из БД. А затем выбираю их в массив, который потом прикручиваю к комбобоксу в качестве источника данных. Массив содержит экземпляры класса ClData. В данном случае, я знаю какие столбцы я выдираю из БД. Вопрос. Как мне лучше сделать этот класс ClData и прикручивать к комбобоксу массив, Если например, я не знаю какие столбцы находятся в БД, но знаю их количество? То есть как создать некий универсальный класс или метод, который берет данные из БД, делает из них массив и прикрепляет его к комбобоксу?
C#
1
2
3
4
5
6
7
8
9
10
List<ClData> ggg=new List<ClData>(){};
            if(resultSelect!=null)
               {
            for (int i = 0; i < resultSelect.ResultData.Rows.Count; i++) {
                ggg.Add(new ClData(resultSelect.ResultData.Rows[i].ItemArray[0].ToString(),resultSelect.ResultData.Rows[i].ItemArray[1].ToString(),resultSelect.ResultData.Rows[i].ItemArray[4].ToString()));
            }
            
    _cmb_faculty_kaf.DisplayMember="faculty";
            _cmb_faculty_kaf.ValueMember="code_record";
            _cmb_faculty_kaf.DataSource=ggg;
Сам класс
C#
1
2
3
4
5
6
7
8
9
10
11
12
public  class ClData
    {
        public ClData(string Faculty,string Name_shem,string Code_record)
        {
            name_shem=Name_shem;
            code_record=Code_record;
                faculty=Faculty;
        }
        public  string name_shem{ get; set; }
        public string faculty{ get; set; }
        public string code_record{ get; set; }
    }

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

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

Как программно указать БД в качестве источника данных для DataGridView?
Как сделать это кодом а не через десигнер? Т.е. данные из бд нужно занести в...

Базу SQL Server Compact Edition 4.0 нельзя выбрать в качестве источника данных в проекте
Установлен Visual Studio Ultimate 2010 SP1, SQL Server Compact Edition 4.0 и...

создание универсального метода класса вывода в цикле while
Коллеги программисты, опять нужна мне ваша подсказка. Поможете ? Проблема в...

Назначение источника строк Комбобоксу
Здравствуйте, уважаемые форумчане! Столкнулся с неразрешимой для меня...

Не отображает Oracle в качестве источника данных
Пока напишу в общий раздел,так как не знаю куда отнести эту необычную проблему...

3
Usaga
Эксперт .NET
5126 / 3485 / 614
Регистрация: 21.01.2016
Сообщений: 13,810
Завершенные тесты: 2
06.04.2018, 03:19 2
Tolyanych, а в чём проблема сразу прикреплять к контролу сам DataTable? Нафига промежуточные массивы, если всёравно всё должно быть «универсально», как оно вам на руки уже и поступает?
0
Tolyanych
1 / 1 / 3
Регистрация: 22.06.2013
Сообщений: 160
Завершенные тесты: 2
06.04.2018, 06:14  [ТС] 3
Просто получается какая фигня. Я значит присобачил массив к комбобоксу. Потом, когда юзер выбирает в этом поле какое-то значение я делаю следующее:
C#
1
2
3
4
5
6
7
8
            if(_cmb_facultySection.SelectedValue==null)
            {
                _cmb_unitSection.DropDownStyle= ComboBoxStyle.Simple;
            }
            else{
                _cmb_unitSection.DropDownStyle= ComboBoxStyle.DropDown;
            ClData fff=(ClData)_cmb_facultySection.SelectedItem;
        }
То есть получается так:
1) В первом комбо есть значения 1,2,3
2) при выборе в нем значения 1 в комбо2 грузятся значения из первой таблицы БД: 11,12,13; при выборе в комбо значения 2 в комбо2 грузятся значения из второй таблицы БД: 56,77,88
3) И так далее. И у меня несколько таких комбо, значения в которых зависят от выбора в предыдущих.

Поэтому я в 1 комбо получаю экземпляр того, что отображается на экране, и в зависимости от значения параметров в этом экземпляре понимаю из какой таблицы БД грузить данные в следующий комбо
0
Usaga
Эксперт .NET
5126 / 3485 / 614
Регистрация: 21.01.2016
Сообщений: 13,810
Завершенные тесты: 2
06.04.2018, 06:28 4
Tolyanych, я не увидел связи между моим вопросом выше и вашим ответом. Что мешает затлкивать к комбобоксы DataTable, а не выдумывать универсальные решения?

На самом деле. Я бы не использовал ни DataTable, ни какие-то ClData, а использовал бы строготипизированное решение или числовой массив индентификаторов записей. Т.е. каждую запись из определённой таблицы оформлял бы в виде объекта конкретного (не универсального) типа и уже эти типы запрашивал из БД, а не DataTable. И эти же объекты пихал в DropDown. Но универсального тут вряд ли что-то может быть.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2018, 06:28

В качестве источника данных к точечным диаграммам устанавливать преобразованный столбец
Здравствуйте. Если у меня в excel есть столбец t и столбец x, а на графике мне...

Создание источника данных, создание серверных страниц и выбор WEB-сервера и его установка
на практике попросили сделать задание. 1)Создание источника данных 2)Создание...

Запрос, использующие в качестве источника данных предыдущий запрос (сумма всех заказов для каждого заказчика)
Здравствуйте! Буду рада любой помощи. Ситуация следующая: имеется запрос,...


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

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

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