Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/40: Рейтинг темы: голосов - 40, средняя оценка - 4.93
0 / 0 / 1
Регистрация: 18.07.2013
Сообщений: 67

RecordCount возвращает -1

22.08.2013, 07:25. Показов 7841. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня!
И раньше сталкивался с таким но не найдя ничего в гугле делал по другому.

Вот опять такое всплыло: rs.RecordCount возвращает -1

Visual Basic
1
2
3
  strsql = " ***"
        Set rs = cn.Execute(strsql)
        Frequency_NEW = Round((rs.RecordCount / rs.Fields("Cycle")), 1)
Запускаю отладку по шагам:
Запрос нормальный. Смотрю значение strsql в immediate, проверяю его на sql servere, все норм.
Делаю exexute. Смотрю rs в immediate он заполнен.
Смотрю rs.RecordCount а он -1.

Кто-нить сталкивался с подобным?

(запрос тут писать не стал потому что он большой, но рабочий точно)

Добавлено через 7 минут
Из окна immediate:
?rs.Fields("Cycle")
2
?rs.RecordCount
-1
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.08.2013, 07:25
Ответы с готовыми решениями:

Вопрос по Recordset.RecordCount
В книге написано, что значение RecordCount RecordSet-а при некоторых 'типах курсора' (не знаю, как это по-русски, документация немецкая),...

Проблемы с свойством RecordCount элемента Data (VB 6.0)
Используется Access'овская база. Data1.Recordset.RecordCount в начале выполнения программы выдаёт 1, а через некоторое времени, даже если...

Особенности использования свойства RecordCount с объектом ADO
Люди добрые, подскажите при каких настройках корректно работает RecordCount, MoveLast, AbsolutePosition, при использовании ADO

10
Заблокирован
22.08.2013, 07:53
Visual Basic
1
2
3
4
5
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "SQL запрос", conn, adOpenDynamic, adLockBatchOptimistic
msgbox rs.RecordCount
Set rs = Nothing
1
0 / 0 / 1
Регистрация: 18.07.2013
Сообщений: 67
22.08.2013, 08:28  [ТС]
Цитата Сообщение от inv.DS Посмотреть сообщение
Visual Basic
1
2
3
4
5
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "SQL запрос", conn, adOpenDynamic, adLockBatchOptimistic
msgbox rs.RecordCount
Set rs = Nothing
Спасибо в очередной раз)
CursorLocation помог.
Можешь объяснить в чем функционал этого свойства?
0
Заблокирован
22.08.2013, 08:46
Читал давно не могу вспомнить.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
22.08.2013, 09:52
recordCount обычно не нужен... Чтобы обработать все записи рекордсета последовательно, можно применить такой код:

Visual Basic
1
2
3
4
Do While Not rs.EOF
    ' обработка текущей записи
    rs.MoveNext
Loop
Для чего еще может быть нужен recordCount?
0
Заблокирован
22.08.2013, 11:17
Лучший ответ Сообщение было отмечено The trick как решение

Решение

На будущие:

RecordCount возвращает -1
Означает, что позиция набора записей не сдвигается с 1 строчки, то есть создав набор данных из базы данных мы не двигаемся ни вперед ни назад, а стоим на 0 позиции.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
22.08.2013, 12:29
Цитата Сообщение от inv.DS Посмотреть сообщение
Означает, что позиция набора записей не сдвигается с 1 строчки, то есть создав набор данных из базы данных мы не двигаемся ни вперед ни назад, а стоим на 0 позиции.
- где это написано?
0
Заблокирован
22.08.2013, 17:02
Catstail, MSDN (c)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
22.08.2013, 17:07
Цитата Сообщение от inv.DS Посмотреть сообщение
MSDN
- то-то я смотрю, что фраза не вполне русская... Статьи из MSDN переводятся программно. Поэтому и получается фигня: "создав набор данных из базы данных мы не двигаемся ни вперед ни назад, а стоим на 0 позиции". А зачем такой набор создавать? Ведь глупость!
0
Заблокирован
22.08.2013, 17:31
Catstail, Не я писал не я источник. Не могу объяснить, базы учил по Интернету, и по большому счету с буржуйских сайтов, где сам переводил, где Google переводчик.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
22.08.2013, 17:45
Я без претензий... Вот хорошее руководство по ADO на литературном русском
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.08.2013, 17:45
Помогаю со студенческими работами здесь

Помогите по SQL код здесь, recordcount неправильно выдает?
Надо найти сколько одинаковых данных cret = recset.Fields(0).Name + '='' & Trim(recset.Fields(0).Value) & ''' Set tb1 =...

RecordCount возвращает 1
Ситуация такова, делаю тест с бд access, хочу сделал так что перед началом прохождения в событии OnShow записываю в переменную количество...

MyRecordset.RecordCount ВОЗВРАЩАЕТ -1?!!
Хочу получить количество записей в recordSet'e, а это свойство выдает -1 В чем грабли?

RecordCount возвращает значение -1
помогите справится с этим куском, RecordCount возвращает значение -1, как такое может быть? <% Set db =...

Св-во RecordCount объекта RecordSet возвращает -1
??? почему... хотя в RecordSet на самом деле есть записи... может как-то по другому надо определять колличество записей RecordSet?


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru