Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2007, 09:26   #1
3lander
Пользователь
 
Регистрация: 07.10.2007
Сообщений: 49
Стрелка Почему ошибка в IBDataSet?

Доброго времени суток!
Никак не могу разобраться в выборке из базы данных (InterBase, комноненты IBX) с помомощью IBDataSet - в нем все связи с Transaction, IBDataBase указаны правильно. На него ссылается TDataSourse (и далее через него TDBGrid).
Суть проблемы: оператор IBDataSet.RecordCount - выдает неправильное значение, причем на небольшом кол-ве записей (до 10) значение правильное, а потом оно "урезается", т.е. если реально в базе 20 записей, то IBDataSet.RecordCount выдает как-будто их 11 (а DBGrid'e всё выводится нормально, записи все есть).
вот запрос:
IBDataSet.SelectSQL.Text:='SELECT *FROM MYBASE'
IBDataSet.Open;
ShowMessage(IntToStr(IBDataSet.Reco rdCount)); // НЕПРАВИЛЬНОЕ ЗНАЧЕНИЕ

Скажите пожалуйста в чем может быть ошибка. Еже всё перепробывал, создавал заново таблицы, добавлял компоненты и пр. (таблиц всего три, связанные по ключевым полям - все таблицы на одной форме, третья на другой).

Еще заметил такую тенденцию: если показанный выше запрос я выполняю сразу после запуска приложения (допустим по кнопке) - то выдаётся тока 1 (!) запись, если открываю окно с третьей таблицой (где и выдается неправильное значение) - то показывается уже "урезанное" кол-во.
3lander вне форума Ответить с цитированием
Старый 10.10.2007, 09:34   #2
3lander
Пользователь
 
Регистрация: 07.10.2007
Сообщений: 49
По умолчанию

Ошибка повторяется и на др таблицах при кол-ве записей более 11
3lander вне форума Ответить с цитированием
Старый 10.10.2007, 10:26   #3
3lander
Пользователь
 
Регистрация: 07.10.2007
Сообщений: 49
По умолчанию

вощем подсказали мне причину: нужно использовать IBDataSet.EOF
3lander вне форума Ответить с цитированием
Старый 10.10.2007, 11:38   #4
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

3lander, тему удалять?
Alex21 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IBDataSet Старовъръ БД в Delphi 7 07.07.2008 13:49
Почему у мну ошибка??? Altera Общие вопросы Delphi 4 09.03.2008 09:29
Почему ошибка только в DLL? AidarBik Общие вопросы Delphi 13 08.10.2007 14:49
Почему? Sota О форуме и сайтах клуба 4 26.07.2007 16:26
Почему так? Сильванович Михаил Общие вопросы C/C++ 2 03.07.2007 11:57