powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как подсчитать колличество записей......
8 сообщений из 8, страница 1 из 1
Как подсчитать колличество записей......
    #32280369
SAnatoliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работаю в С++ Builder и БД Oracle.
Подсоединяюсь к БД через компоненты ODAC.

Сделал фильтрацию, и теперь нужно мне подсчитать колл-во записей и вывести число в сообщении пользователю.

Пробую зделать так:
int chisl;

for(T_full->First(); !T_full->Eof; T_full->Next())
{ chisl++; }

ShowMessage("Записей: " +chisl);

Но чтот в переменной "chisl" всякая чушь, не числового формата.

Как можно это реализовать по другому?

Если можно примером, новичёк я еще.
...
Рейтинг: 0 / 0
Как подсчитать колличество записей......
    #32280417
Hunter_eea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или int chisl=0; -Обнулить счетчик перед циклом
или например:
chisl = T_full->GetRecordCount();
...
Рейтинг: 0 / 0
Как подсчитать колличество записей......
    #32280464
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RecordCount не всегда хорошо использовать.
Если будет выдавать неправилное значение, то пошли запрос
select count(*) from table1
where <условия выборки>
...
Рейтинг: 0 / 0
Как подсчитать колличество записей......
    #32280501
SAnatoliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Cauchy

То есть, используя так: chisl = T_full->GetRecordCount();
может иногда выдавать не ту цифру?
...
Рейтинг: 0 / 0
Как подсчитать колличество записей......
    #32280517
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>ShowMessage("Записей: " +chisl);
Код: plaintext
1.
2.
3.
4.
  int  chisl =  123 ;
  char szTmp[ 255 ];
  sprintf(szTmp, "Записей: %d" ,chisl);
  Application->MessageBox(szTmp,"", 0 );
...
Рейтинг: 0 / 0
Как подсчитать колличество записей......
    #32280554
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<<может иногда выдавать не ту цифру?

Да, это зависит от типа курсора.
Может выдать -1.
По-моему (точно не помню) когда односторонний курсор (только вперед).
Курсор нужно всегда проверять, потому что при открытии коннекта тип курсора может измениться из-за настроек сервера.
...
Рейтинг: 0 / 0
Как подсчитать колличество записей......
    #32280568
LAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не оспаривая все что здесь сказано замечу что когда пишешь
ShowMessage("Записей: " +chisl);
ты складываешь строку с числом, вполне возможно что при этом число переводится в символ по АСКИ коду и его ты и видишь. проверь что так
ShowMessage("Записей: " +IntToStr(chisl));
плучится
...
Рейтинг: 0 / 0
Как подсчитать колличество записей......
    #32280692
SAnatoliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! ВСЕМ ответившим.

Я вернулся к старому варианту у себя:
int chisl =0;
for(T_full->First(); !T_full->Eof; T_full->Next())
{ chisl++; }
ShowMessage("Записей: " +IntToStr(chisl));


Так как "T_full" -это не "OraTable", а "SmartQuery". Следовательно как я понял у него нет "GetRecordCount()", а писать запросом не знаю как у себя сделать. Переписывать заново запрос не хочеться.

А в "T_full" - уже сделана выборка как нужно, и я просто в цикле просчитываю и все. Неудобство в том что таблица пересчитываеться еще раз.

Изменил свой прежний код по совету "LAlex" и нормальнго все отображается.

Всем спасибо.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как подсчитать колличество записей......
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]