1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| ninja |
8.12.2010 18:01
Сообщение
#1
|
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Добрый вечер! Столкнулся с такой проблмой: при фильтрации данных в таблице БД, если тип поля не строковый, т.е. числовой, дата и т.д., появляется ошибка:
could not convert variant of type OleStr into type Boolean void filtration(TTable *Table,TEdit *Edit,AnsiString Str) Пробовал задавать фильтр таким образом: Table->Filter = Str+"='"+Edit->Text.ToInt()+"'"; при вводе цифр в поле Edit фильтр работает, но как только стереть все что написал, появляется такая же ошибка. Вызов функции: filtration(mk_oborud,Edit3,"Year_vipusk"); Заранее Спасибо за помощь. Сообщение отредактировано: ninja - 8.12.2010 18:06 |
![]() ![]() |
| volvo |
8.12.2010 19:51
Сообщение
#2
|
|
Гость |
Цитата Я имею ввиду, что при преобразовании в число функцией StrToInt() если вводится символы, то появляется ошибка Кроме StrToInt есть еще TryStrToInt, которая вернет false, если преобразование невозможно:int value; |
ninja Проблема при фильтрации данных 8.12.2010 18:01
volvo А ведь я уже говорил про это :)
Вот тут: Ошибка п... 8.12.2010 18:17
ninja исправил таким образом:
void filtration(TTable *T... 8.12.2010 18:39
Client попробуй убрать ToInt, используй просто текст едит... 8.12.2010 18:44
ninja Если тип данных в таблице строковый работает норма... 8.12.2010 18:47
volvo Если тип данных в таблице - НЕ строковый, то о как... 8.12.2010 18:49
ninja Прошу прощения не знал, а как быть с другими типам... 8.12.2010 18:54
volvo Сделал вот так:
if (Edit->Text.Length() > 0)... 8.12.2010 19:11
ninja Работает :) даже преобразовывать не нужно, если ... 8.12.2010 19:35
ninja мм... Удобная функция, Спасибо 8.12.2010 19:55![]() ![]() |
|
Текстовая версия | 8.12.2025 17:25 |