|
Com-объект в таблицу значений |
☑ |
0
extrim-style
21.01.14
✎
14:41
|
Делаю запрос к MS SQL (не 1сная база):
...
Rs = Новый COMОбъект("ADODB.RecordSet");
RS.CursorType = 1;
RS.LockType = 3;
...
RS.Open(ТекстЗапроса,Соединение);
...
Пока Rs.EOF = 0 Цикл
...
КонецЦикла;
Ранее использовал обход Rs, но теперь ситуация такая, что мне проще бы поместить Rs в ТЗ, ТЗ в запрос, и там уже сделать все остальные соединения. Вопрос: как проще всего поместить Rs в ТЗ? или какие тут другие варианты?
|
|
1
Fram
21.01.14
✎
14:42
|
GetRows
|
|
2
extrim-style
21.01.14
✎
14:49
|
(1) есть такое дело! после этого можно сразу в запрос? или куда?
|
|
3
Fram
21.01.14
✎
14:51
|
(2) щас! вернется массив массивов. типизируй, загоняй в ТЗ и потом в запрос
|
|
4
extrim-style
21.01.14
✎
14:53
|
(3) ёлкин кот, первоначальное воодушевление после (1) поубавилось)
|
|
5
dk
21.01.14
✎
14:55
|
можно откатиться в 7.7 и там все сформировать через 1с++ ))
|
|
6
Fram
21.01.14
✎
14:56
|
(4) не ссы.. работает очень быстро. я даже не стал замерять производительность потому что результаты в пару сотен тысяч строк реально мгновенно загоняются в ТЗ
|
|
7
extrim-style
21.01.14
✎
14:56
|
(3) примерчик нигде не завалялся? а то звучит массив массивов уже и звучит страшно)
|
|
8
Fram
21.01.14
✎
14:59
|
(7) ниче страшного!
для каждого строки из rs.getrows() цикл
для каждого колонка из строки цикл
конеццикла
конеццикла
|
|
9
Fram
21.01.14
✎
14:59
|
*строки = строка
так понятней по смыслу будет
|
|
10
extrim-style
21.01.14
✎
15:01
|
(8) не понял в чем прикол? а в чем отличие тогда от:
Пока Rs.EOF = 0 Цикл
Rs.Fields("ИмяКолонки1").Value;
Rs.Fields("ИмяКолонки2").Value;
КонецЦикла;
|
|
11
Fram
21.01.14
✎
15:03
|
(10) в скорости обработки большого кол-ва строк
|
|
12
extrim-style
21.01.14
✎
15:09
|
(11) ясно. строк у меня не так много, так что разницы нет.
хотелось по коду строк поменьше. Что-нибудь вроде ЗначениеВСтрокуВутр - ЗначениеИзСтрокиВнутр и т.п., тем более у меня там в типах только строки.
|
|
13
Trainee
21.01.14
✎
15:20
|
ВыборкаV8 = РезультатV8.Выгрузить();
стр_ТЗ = Подключение.ЗначениеВСтрокуВнутр(ВыборкаV8);
ТЗ = ЗначениеИзСтрокиВнутр(стр_ТЗ);
Я делала так.
|
|
14
Trainee
21.01.14
✎
15:21
|
(13) Блин. Ступил.
|
|
15
bolobol
21.01.14
✎
16:30
|
А "Внешние источники данных" тут никак не помогают? 00
|
|
16
Fram
21.01.14
✎
16:33
|
(15) Мягко выражаясь, возможности селекта Transact SQL несколько выше 1Совских
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший