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

Преобразование таблицы (логическая 3адача)

28.04.2011, 11:21. Показов 631. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья, у меня утренний ступор.

Из БД получаю DataSet.Table, Структура:
Партнер | Статус | Кол-во
Банк1 | Принято | 5
Банк1 | Обработано | 10
Агенты1 | Принято | 3
Агенты1 | Отправлено | 6

(Т.е. запрос выбирает партнеров, статусы и кол-во сделок, а потом группировка по партнеру и статусу)

Как бы мне эту табличку преобразовать в таблицу вида

Партнер | Статус 1 | Статус 2 | Статус 3 | Статус 4 |
Банк1 | 5 | | 10 | |
Агенты | 3 | | | 6 |

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

В табличке, полученной из базы, я вместо наименований статусов и партнеров выгружаю их id.

C#
1
2
3
4
5
6
7
8
9
10
DataSet dataSet = new DataSet();
int[,] stats = new int[11, 10]; //Кол-во партнеров и статусов определено, хотя можно и из базы брать их кол-во
string query = ""; 
GetDataFromDB(ref dataSet, "Stats", query); //тут просто, создаем табличку Stats в датасете и пишем в нее результат запроса query
 
//Собственно ниже основной момент, берем каждую строку, в эл-те dr[0] содержится id партнера, в dr[1] - id статуса, в dr[2] - кол-во. Используем первые два элемента, как индексы элемента двумерного массива и присваеваем ему результат.
foreach (DataRow dr in dataSet.Tables["Stats"].Rows)
{
       stats[Convert.ToInt32(dr[0]), Convert.ToInt32(dr[1])] = Convert.ToInt32(dr[2]);
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.04.2011, 11:21
Ответы с готовыми решениями:

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

3адача на VB
Готовлюсь к олимпиаде по информатике. Учусь в 9 классе (школа средняя общеобразовательная). Держу перед собой прошлогоднюю. Глаза лезут на...

3адача на c++
Очень интересно как следующие задачи решаются на с++ и решаются ли вообще на этом языке. Если кто-то может решите плиз. ЗАДАЧА №1...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.04.2011, 11:21
Помогаю со студенческими работами здесь

3адача на рекурсию
Написать функцию, которая указанный элемент заменяет на новый. допустим есть список ( 1 2 3 4 5 ) я ввожу номер элемента, который...

3адача с оператором WHILE
Решите, пожалуйста, эту задачу. Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, вывести все его...

3адача с оператором FOR
Решите, пожалуйста, эту задачу. Дано целое число N (> 0). Найти произведение 1.1 · 1.2 · 1.3 · … (N сомножителей).

3адача с оператором IF.
Решите, пожалуйста, эту задачу. Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный...

Интересная 3адача
Есть таблица в которую льются записи записи "добавляются" "изменяются" "удаляются" пользователем. Необходимо реализовать механизм...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru