Имя: Пароль:
1C
 
MS SQL: вернуть 2 таблицы из хранимой процедуры и обойти их
0 extrim-style
 
20.11.15
12:17
Как это сделать? Использую ADODB.Recordset.
1 Это_mike
 
20.11.15
12:18
пиши во временную...
2 extrim-style
 
20.11.15
12:20
(1) не понял
всмысле, вернуть временную таблицу + select
или
или создать общую из двух?
3 ДенисЧ
 
20.11.15
12:25
оно тебе вернёт несколько сетов.
обходятся через nextrecordset
4 extrim-style
 
20.11.15
12:30
(3) в хранимке делаю 2 select'a подряд, возвращает в Management Studio 2 таблицы.
В 1С читаю колонки:

    ВсегоКолонок = RS.Fields.Count;
    Для Сч=0 По ВсегоКолонок-1 Цикл
        Сообщить(RS.Fields(Сч).Name);
    КонецЦикла;
    RS.NextRecordset();
    ВсегоКолонок2 = RS.Fields.Count;
    Для Сч=0 По ВсегоКолонок2-1 Цикл
        Сообщить(RS.Fields(Сч).Name);
    КонецЦикла;    

Выводит последний набор 2 раза.
5 extrim-style
 
20.11.15
12:48
(3) спасибо, разобрался:

    Сообщить("Первый набор");
    ВсегоКолонок = Rs.Fields.Count;
    Для Сч=0 По ВсегоКолонок-1 Цикл
        Сообщить(Rs.Fields(Сч).Name);
    КонецЦикла;
    Сообщить("------------");
    Сообщить("Второй набор");  
    Сообщить("------------");          
    Rs2=Rs.NextRecordset();
    ВсегоКолонок2 = Rs2.Fields.Count;
    Для Сч=0 По ВсегоКолонок2-1 Цикл
        Сообщить(RS2.Fields(Сч).Name);
    КонецЦикла;    

https://msdn.microsoft.com/en-us/library/ms677539(v=vs.85).aspx
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.