|
Обращение к строке выборки |
☑ |
0
Kaukass
09.03.15
✎
11:35
|
Знаю, что результат запроса перебирают в цикле "Пока Выборка.Следующий()..." ,
а можно, зная что в результате всего одна строка, обратиться к результату без цикла?
|
|
1
GROOVY
09.03.15
✎
11:37
|
Можно.
Выборка = Результат.Выбрать();
Выборка.Следующий();
Данные = Выборка.Данные;
|
|
2
GROOVY
09.03.15
✎
11:38
|
Но на всякий случай, лучше так:
Если Выборка.Следующий() Тогда
|
|
3
Kaukass
09.03.15
✎
11:39
|
Благодарю
|
|
4
Kaukass
09.03.15
✎
12:16
|
2. Т.е. "следующий()" - это как в delphi команда "next"?
|
|
5
SSSSS_AAAAA
09.03.15
✎
12:23
|
(0) Если не зацикливаться на Выборка.Следующий(), то есть еще варианты.
Выборка = Результат.Выбрать().Выгрузить();
Данные = Выборка[0].Данные;
|
|
6
Kaukass
09.03.15
✎
12:25
|
5., Выборка[0]
В квадратных скобках индекс строки?
|
|
7
GROOVY
09.03.15
✎
12:25
|
(5) За выгрузку результата в ТЗ бьют по рукам.
|
|
8
Kaukass
09.03.15
✎
12:28
|
(7) - а по что такие суровые санкции?
|
|
9
zak555
09.03.15
✎
12:31
|
(7) а за
Набор.Загрузить( Результат.Выбрать().Выгрузить()) );
?
|
|
10
GROOVY
09.03.15
✎
12:32
|
(9) За это не бьют :)
(8) За создание ТЗ без необходимости.
|
|
11
фобка
09.03.15
✎
12:36
|
(10) к открытию выборки в (2) тоже можно придраться..
Нужно так:
Результат = запрос.выполнить();
Если не Результат.Пустой() тогда
Выборка = результат.выбрать();
...
|
|
12
zak555
09.03.15
✎
12:36
|
(10) в 9 не создаётся ТЗ ?
|
|
13
фобка
09.03.15
✎
12:41
|
(9) не взлетит
|
|
14
GROOVY
09.03.15
✎
12:42
|
(11) Согласен.
(12) Создается, но загрузка ТЗ в другой набор, при достаточном количестве строк, намного эффективнее, чем заполнение набора построчно. А вот получать ТЗ для обращения к одной строке - это крайне неэффективно.
(13) Я думаю там просто опечатка.
|
|
15
zak555
09.03.15
✎
12:48
|
(14) > при достаточном количестве строк, намного эффективнее, чем заполнение набора построчно
странно как-то
создавать ТЗ неэффективно, но сразу загружать в набор -- эффективно
|
|
16
zak555
09.03.15
✎
12:48
|
(13) выбрать надо убрать =)
|
|
17
фобка
09.03.15
✎
12:56
|
(15) "при достаточном количестве строк" эффективнее чем гонять цикл с получением значений из выборки..
Получать тз выгодно если дергаешь из результирующего набора массив значений какого-то поля, например
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший