• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Dblookupcombobox

  • Автор темы VahaC
  • Дата начала
V

VahaC

Как получить значание выбраное в DBLookupComboBox пробовал DBLookupComboBox1.KeyValue но програма выбрасывает ошибку

код приведён ниже

DataModule1.manufFilterQuery.Active:=false;
DataModule1.manufFilterQuery.SQL.Clear;
DataModule1.manufFilterQuery.SQL.Add('SELECT *');
DataModule1.manufFilterQuery.SQL.Add('FROM manufacter_table');
DataModule1.manufFilterQuery.SQL.Add('WHERE id_type='''
+DBLookupComboBox1.KeyValue+'''');
DataModule1.manufFilterQuery.Active:=true;
 
B

Barmutik

KeyValue чудесно работает .. НО тоьлко если в комбобоксе что-тоывбрано .. поэтому перед тем как к нему обращаться стоит проверить not VarIsNull(DBLookupComboBox1.KeyValue) и уж только потом обращаться...
 
V

VahaC

как только что нибудь выбрать в том выпадающем списке дельфы сразу выбрасывает ошибку (Project VCService.exe raised exception class EVariantTypeCastError with message 'Could not convert variant of type (String) into type (Double) '. Process stopped. Use Step or Run to continue.)

а до етого всё в порядке так что зачем ета проверка не пойму
 
B

Barmutik

Ну так почитайте что Вам ошибка говорит .. Вы пытаетесь KeyValue - вариант стринговоготипа конвертнуть где-то в число.. Вот и ошибка ..

Неужель по коду трудно посмотреть ?
 
V

VahaC

А как мне тогда быть если поле id_type в базе является целочисельным типом
то есть как тогда правильно запрос построить
 
B

Barmutik

Я Вам в другой теме уже ответил на этот вопрос ...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!