С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Aloir
225 / 225 / 38
Регистрация: 17.12.2010
Сообщений: 713

Курсор с 3 select. Как достать данные?

24.08.2014, 20:51. Показов 781. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день, не могу у себя в проге вытащить данные до конца.. помогите плз.
имеется процедура с курсором, внутри курсора делается 3 селекта.
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 OPEN cur;
 
 fetch cur INTO vId, vName,vType;
 while done = 0 do
 
 SELECT vId, vName,vType;
 
 IF(vType = 0) THEN
  SELECT Task,TaskName FROM Tasks t
    ORDER BY t.Task ASC;
 ELSE
  SELECT t.Task, t.TaskName FROM RolesTasks rt
    INNER JOIN Tasks t ON t.Task = rt.TaskID
    WHERE rt.RoleID = vId
    ORDER BY t.Task ASC;
 END IF;
 
 SELECT -1 AS "Task","-1" AS "TaskName";
 
 fetch cur INTO vId, vName,vType;
 END WHILE;
собственно код, которым пытаюсь вытащить:

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
  GetGlobalData.MainConnection.SetProcedure("GetRolesAndTasks");
                r = GetGlobalData.MainConnection.ExecuteProcedure();
 
                bool IsHeader = true;
                Role rl = new Role();
                while (r.Read())
                {
                    if (IsHeader)
                    {
                        rl.ID = r.GetInt32("vId");
                        rl.RoleName = r.GetString("vName");
                        rl.Type = r.GetInt32("vType");
                        IsHeader = false;
                        r.NextResult();
                    }
                    else
                    {
                        var Name = r.GetString("TaskName");
                        var Task = r.GetDouble("Task");
                        if (Task == -1)
                        {
                            IsHeader = true;
                            m_RolesList.Add(rl);
                            rl = new Role();
                            r.NextResult();
                            continue;
                         }
                         rl.m_Tasks.Add(Task, Name);
 
                        //вот тут надо вызвать r.NextResult();
                        //после получения всех записей из 2 селекта..
                        //не знаю как
                    }
                }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.08.2014, 20:51
Ответы с готовыми решениями:

Как отображать определенные данные в <select> в зависимости от значений в другом <select>?
Здравствуйте! У меня на страницу есть два &lt;select&gt;. В каждом из них располагаются даты в формате dd.mm.yyyy. &lt;select...

Как при изменении одного <select> подгрузить в другой <select> данные...
Как при изменении одного &lt;select&gt; подгрузить в другой &lt;select&gt; данные... пример: с марками машин. При выборе 'TOYOTA'...

Как достать данные из таблицы по Id
Такая ситуация: Есть две таблицы в бд. В первой записан id_человека и name человека. Во-второй, id_человека, age, height. Мне нужно из...

1
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
24.08.2014, 21:10
Aloir, если вы хотите перебрать все записи всех возвращенных наборов данных, то нужно делать так:
C#
1
2
3
4
5
6
7
8
do
{
    while(r.Read())
    {
        // Обработка текущей строки
    }
}
while(r.NextResult());
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.08.2014, 21:10
Помогаю со студенческими работами здесь

Как достать данные из файла?
Например имеется файл test.txt, в котором есть список имэйлов. Каждый имэил с новой строчки. Как правильно достать их? Т.е. мне...

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

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

Как достать данные из комбобокса?
Здравствуйте. Таблица 1 (Т1) id name Таблица 2 (Т2) id ...

Как достать данные из файла?
Например имеется файл test.txt, в котором есть список имэйлов. Каждый имэил с новой строчки. Как правильно достать их? Т.е. мне...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru