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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2009, 21:04   #1
_SatanA_
Пользователь
 
Аватар для _SatanA_
 
Регистрация: 17.10.2009
Сообщений: 13
Восклицание Ошибка фильтрации Table

Всем доброго времени суток.

Начал, в общем, писать фильтр к локальной базе данных.
Запихнул как водится нормальные компоненты (DataSource, Table и иже с ними). Вроде фильтроваться должно без проблем (в ранних работах, так сказать, все безукоризненно).
База данных из двух таблиц на FoxPro.
В таблице, которая должна фильтровацца, дофига полей, но фильтруется по моей задумке только по 8-ми полям. 2 из этих полей символьные (Character). Есть и пустые ячейки (база не моя, если че).

Проблема заключается в следующем:
Когда фильтрую данные (Table.Filter='<фильтр>', к примеру, по категории рабочих и категория такая есть (например Table.Filter='KAT=4'), то фильтрует без проблем. Если по фамилии, то по первым буквам тоже железно фильтрует.

НО! Если фильтровать по значению, которого в таблице нет, то выпадает ошибка - Project Project1.exe raised exception class EConvertError with message '''is not a valid integer value'.Process stopped. Use Step or Run to continue.

Хотя должно просто показать пустую таблицу.

Помогайте, я уже иссяк. Заранее благодарю
_SatanA_ вне форума Ответить с цитированием
Старый 18.10.2009, 07:57   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Если бы вы привели пример кода, то было бы лучше. Но, раз его нет, то можно попробовать предложить следующее. Сделайте обработчик вашей ошибка (сам много раз с ней сталкивался) вот так:
Код:
var
 i: integer; //просто объявим какую-нибудь левую переменную
begin
 try
 ...
 //тут ваш код, который работает правильно. 
 ...
 except
 on EConvertError do
   i:=1; //это ничего не значит. Просто, чтобы шло присваивание вместо  ошибки
 end;
end;
Таким образом, в среде разработки эта ошибка будет появляться, но когда вы будете запускать уже скомпилированный файл (не из delphi), то ошибка появляться не будет.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 18.10.2009, 13:58   #3
_SatanA_
Пользователь
 
Аватар для _SatanA_
 
Регистрация: 17.10.2009
Сообщений: 13
По умолчанию

Огромное спасибо
Хоть такое решение проблемы, да и очень эффективное
_SatanA_ вне форума Ответить с цитированием
Старый 24.10.2009, 20:15   #4
_SatanA_
Пользователь
 
Аватар для _SatanA_
 
Регистрация: 17.10.2009
Сообщений: 13
По умолчанию

вот паливо!
не пашет все равно

вот ссылочка на прогу. исходники в архиве:
http://330.ucoz.ru/bgklp/source.rar

Последний раз редактировалось _SatanA_; 24.10.2009 в 20:17.
_SatanA_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка при фильтрации Screame Microsoft Office Excel 31 14.08.2009 10:10
ошибка фильтрации Dozent Общие вопросы Delphi 5 25.06.2008 22:52
insert через table->grid: ошибка Geddar БД в Delphi 2 06.06.2008 13:43
Ошибка при фильтрации! Markus БД в Delphi 0 05.05.2007 17:28
че делать если вылетает ошибка Table does not exist? Алёна БД в Delphi 4 25.04.2007 15:09