Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Количество записей в запросе

v7: Количество записей в запросе
Я
   kupec
 
19.08.21 - 09:00
Добрый день, есть вот такой запрос

Cmd=СоздатьОбъект("ADODB.Command");                                      
Cmd.ActiveConnection=Соединение;
Cmd.CommandTimeOut=10;
Cmd.CommandType=1;
Cmd.Commandtext=СокрЛП("SELECT     CODE FROM SC2463 WHERE (ISMARK=0 and SP2464 = '   22I   ')");
Rs.ActiveConnection=Соединение;
Rs=Cmd.Execute();
Пока Rs.EOF()=0    Цикл
    Сообщить(Rs.Fields(0).Value);
    Rs.MoveNext();
КонецЦикла;

Он работает, все с этим хорошо. Можно ли каким то образом перед обходом цикла узнать, сколько записей (или как там их называют) содержит результат выполнения запроса. Почему то Count не срабатывает
   trad
 
1 - 19.08.21 - 09:18
   Ёпрст
 
2 - 19.08.21 - 09:19
Нам отсюда не видно, как ты используешь count в тексте запроса, и зачем используешь ado, заместо 1cpp, например
   kupec
 
3 - 19.08.21 - 09:22
(2) т.е. в тексте запроса нужно задать, что мне необходимо получить количество записей? Типа как в 7.7 Счётчик?
   kupec
 
4 - 19.08.21 - 09:22
(1) пробовал вот так
Rs.RecordCount()
Выдает -1
   trad
 
5 - 19.08.21 - 09:27
(4) значит рекордсет не знает сколько записей будет выбрано.
В таком случае узнать можно только прокрутив весь рекордсет.
1) ты сам можешь это сделать прокрутив цикл два раза
2) использовать GetRows, но это вернет массив, а семерка их не умеет
   trad
 
6 - 19.08.21 - 09:28
правильный ответ в (2) - 1cpp
   ДенисЧ
 
7 - 19.08.21 - 09:48
Так в строке соединения (?) нужно указать правильный тип курсора...
   Sserj
 
8 - 19.08.21 - 09:56
Ну как вариант:

SELECT
  CODE
  , row_number() over (order by code) as [НомерТекущейСтроки]
  , row nuber() over (opder by code desc) as [СтрокДоКонцаВыборки]
ROM
  SC2463
WHERE (ISMARK=0 and SP2464 = '   22I   ')
order by
  CODE
   kupec
 
9 - 23.08.21 - 08:42
(7) строка соединения
"Provider=SQLOLEDB; Server=192.168.0.100;User ID=sa;Password=пароль;Database=база;"

Список тем форума
 
Прочитай, хотя бы, Митичкина "Разработка в системе 1С:Предприятие 8". Волшебник
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.