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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2007, 14:54   #1
gane4ka
 
Регистрация: 13.12.2007
Сообщений: 4
Вопрос Связь ComboBox с DBImage и DBMemo

Ребята, такая проблема: не получается по выбранному названию модели из ComboBox получить описание данной модели в DBMemo и рисунок в . И DBMemo, и DBImage связаны с единой таблицей, из которой список моделей отображается в ComboBox. Как связать ComboBox с данными компонентами. Это вообще осуществимо? Я пробовала через OnChange - безрезультатно.
gane4ka вне форума Ответить с цитированием
Старый 13.12.2007, 15:29   #2
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

С простым компонентом TComboBox компоненты Data Controls работать не будут, попробуй использовать TDBComboBox
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 13.12.2007, 17:15   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Дайте структуру ваших таблиц.
mihali4 вне форума Ответить с цитированием
Старый 14.12.2007, 00:44   #4
gane4ka
 
Регистрация: 13.12.2007
Сообщений: 4
Сообщение спасибо, что ответили:)) описываю структуру таблицы

Таблица содержит 11 полей, сделана в DBD. 2 поля, из которых должна выводиться информация в DBMemo и DBImage соответствуют типам Blob Memo и Blob Image соответственно. Поиск хочу проводить по полю, обладающему первичным ключом. Список в ComboBox появляется. Компонент работает идеально для меня - можно выбирать из списка, можно вводить в ручную.DBMemo и DBImage среагировали на таблицу сразу, т.к. есть связка.
gane4ka вне форума Ответить с цитированием
Старый 14.12.2007, 01:41   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Структура - это полный перечень полей с указанием:
- имени поля
- типа поля (строковое, автоинкрементное, целое, с плавающей зпт и т.д.)
- смысловой нагрузки поля (что за ... там записывается)
А ваша информация абсолютно ничего не дает. Хотя, впрочем, могу сразу сказать, что одной таблицы явно мало.
mihali4 вне форума Ответить с цитированием
Старый 14.12.2007, 02:06   #6
gane4ka
 
Регистрация: 13.12.2007
Сообщений: 4
По умолчанию Спасибо! всего 1таблица - ее структура

Я использовала одну таблицу, включающую характеристики и описание моделей аппаратов

1 CA_ModelID ( A /20 / * )
2 CA_Type ( A /20)
3 CA_Power ( A/20 )
4 CA_Firm (A/ 30 )
5 CA_BY3D ( N )
6 CA_KY( N )
7 CA_F ( A/10 )
8 CA_Price ( N )
9 CA_Describe ( M/1 )
10 CA_Photo (G)

Всего в таблице 52 модели

Последний раз редактировалось gane4ka; 14.12.2007 в 02:10.
gane4ka вне форума Ответить с цитированием
Старый 14.12.2007, 03:00   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А где описание данных-то?
Ну, да ладно...
Добавьте самым первым полем поле ID - идентификатор записи. Этот идентификатор должен быть равен ComboBox.ItemIndex для выбранной в комбобоксе позиции.
Ощущаете? Вы будете делать выборку по ID:
'select * from mytable where id='''+IntToStr(ComboBox.ItemIndex) +'''
Возьмите за правило - первым и ключевым полем в любой таблице должно быть поле идентификатора ЗАПИСИ (!).
Тогда вы избавитесь от подобного рода головных болей...
mihali4 вне форума Ответить с цитированием
Старый 14.12.2007, 08:29   #8
gane4ka
 
Регистрация: 13.12.2007
Сообщений: 4
Смущение

Спасибо! но не очень ясно, ведь в таблице полю 1 CA_Model (которое меня интересует) присвоен тип - автоинкремент (ID)! В чем я Вас не поняла?
gane4ka вне форума Ответить с цитированием
Старый 14.12.2007, 17:52   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Коль скоро вы хотите использовать именно простой комбобокс, то от автоинкрементного поля придется отказаться, заменив его на простое целое. И идентификатор для каждой новой записи придется вычислять самостоятельно.
Важно, чтобы значения поля идентификатора шли подряд (все опять-таки - это для вашего комбобокса).
Все-таки посмотрите на свою таблицу критически.
Наверняка, название какой-нибудь фирмы повторяется - это уже сигнал, что нужно создать отдельную таблицу фирм. И, скорее всего, не только фирм...
mihali4 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBImage i Accsess Coda89 БД в Delphi 5 28.05.2008 20:15
DBImage + jpeg + gif Cyn4uk БД в Delphi 10 23.12.2007 19:24
Как земенить текст в DBMemo? Макс84 БД в Delphi 1 08.05.2007 08:53
DBMemo автоподстановка John_chek Компоненты Delphi 3 25.01.2007 13:41