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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2017, 11:25   #1
KAPTOLLIKA
 
Регистрация: 09.05.2017
Сообщений: 4
По умолчанию Использование Dblookupcombobox

Всем привет.
Не могу решить проблему с использование Dblookupcombobox и DBGrid.
Dblookupcombobox загружает данные из таблицы category и должен вставлять текст в поле "Категория" DBGrid. Но вместо текста в поле помещается cat_id. Как это исправить?
Изображения
Тип файла: png Снимок1.PNG (29.6 Кб, 96 просмотров)
Тип файла: png Снимок.PNG (23.6 Кб, 88 просмотров)
Тип файла: png Снимок2.PNG (19.6 Кб, 88 просмотров)
KAPTOLLIKA вне форума Ответить с цитированием
Старый 16.05.2017, 12:34   #2
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Цитата:
Сообщение от KAPTOLLIKA Посмотреть сообщение
Dblookupcombobox загружает данные из таблицы category и должен вставлять текст в поле "Категория" DBGrid
Dblookupcombobox, как и все визуальные компоненты баз данных, ничего не загружает и тем более ничего не вставляет. Единственное, что он может, это ОТОБРАЗИТЬ те данные, которые ему велено (задано) отображать.
Точно так же ведет себя и DBGrid.
Двойной щелчок мышкой по компоненту DBGrid в режиме проектирования и посмотрите, какое поле таблицы у вас задано под именем "Категория"?
И вообще, может быть не стоит городить огород и просто задать поля типа Lookup в самой DBGrid?
kropotkina-alice вне форума Ответить с цитированием
Старый 19.05.2017, 08:56   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Если Вы данные получаете напрямую из таблицы - то у Вас и будет cat_id вместо наименования, потому что наименование-то хранится в другой таблице.

Делайте запрос вида:

Код:
SELECT a.TovName, a. counts, a.price, b.catName, c.proizvoditel
FROM Tovars AS A
INNER JOIN Category AS b ON a.cat_id = b.cat_id
INNER JOIN Proizvoditeli AS c ON a.proizvoditel_id = c.proizvoditel_id
WHERE a.cat_id = :cat_id
В значение параметра cat_id передаёте значение ID выбранного в LookUpComboBox'е наименования.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Combobox и таблицы SQL (Delphi. Использование связанных DBLookupComboBox ) Максим1818 Помощь студентам 51 12.02.2014 08:59
DBLookupComboBox SunKnight Компоненты Delphi 6 25.02.2012 08:55
DBLookupComboBox Aleksey1989 БД в Delphi 1 01.06.2011 08:17
Использование DBLookupComboBox Irina_87 Помощь студентам 45 10.12.2009 08:25