Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Фильтрация ClientDataSet

358
31 июля 2003 года
moonmike
423 / / 18.10.2002
Никак у меня не получается отфильтровать ClientDataSet по полю типа int.
Например пишу:

MyCDS->Filter = "id = " + IntToStr(1);
MyCDS->Filtered = true;

И получаю ошибку:
EDatabaseError with message 'Constant is not correct type 1'
Ладно думаю, выкручусь через ApplyRange. Пишу:

ClientDataSet1->IndexFieldNames = "id";
ClientDataSet1->SetRangeStart();
ClientDataSet1->FieldByName("id")->AsInteger = StrToInt(Edit1->Text);
ClientDataSet1->SetRangeEnd();
ClientDataSet1->FieldByName("id")->AsInteger = StrToInt(Edit2->Text);
ClientDataSet1->ApplyRange();

Ошибки не вылетает, но и фильтрации не происходит.
Через OnFilterRecord конечно можно отфильтровать, но очень сложная логика фильтра иногда бывает, так что этот путь не желателен.
Кому нить удавалось эту проблему побороть?
Или у других этой проблемы нет, а у меня Билдер глючит?

ЗЫ: BCB6Ent + Update4

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог