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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2013, 12:55   #1
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию Связь по ключу

Здравствуйте!,

Столкнулся с проблемой, как связать 2 таблицы по ключу.

Точнее я думаю не обязательно запрос создавать, даже если его и создавать то как правильно не знаю.

Есть таблица с товаром , привязанная к таблице "Товар"
Есть компоненты "DBImage" & "DBMemo" в них я храню характеристику для товара, в таблице "Характеристика". Она отображает фотку товара и его характеристики.

Я знаю есть способ проще все сделать (Пока писал придумал). Просто все поместить в таблицу с товаром, и в DBGrid просто через ADOTable скрыть поля с характеристиками, и эти скрытые поля вывести через эти компоненты("DBImage" & "DBMemo"), и когда я буду выбирать тот или иной товар оно автоматически покажет в компоненте все что хранится в полях которые я ему присвоил.

Но опять же, могут предъявить претензии типа "А почему ты не связал 2 таблицы " и тд...

Вся проблема заключается в том , что бы при выборе той или иной строки в DBGrid (таблица с товарами) я видел его характеристики в компонентах ("DBImage" & "DBMemo") .
Думаю связать по Код характеристики (поле общее, ключ )

Как реализовать - не знаю.
Помогите информацией или наводящими примерами... как нибудь )
viks1 вне форума Ответить с цитированием
Старый 07.05.2013, 13:11   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вообще-то сразу тянуть Blob поля хоть через Table, хоть Query любой разновидности плохая идея. Наиболее оптимально в AfterScroll основного DataSet-а выдергивать их запросом по ключу и размещать в Image и/или Memo. ИМХО
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.05.2013, 13:18   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Точнее я думаю не обязательно запрос создавать, даже если его и создавать то как правильно не знаю.
да элементарно.

Код:
select [товары].[наименование],[характеристики].[характеристика] from [товары] inner join [характеристики] on [товары].ID=[характеристики].[ID_товара]
Цитата:
Просто все поместить в таблицу с товаром
Логично, если у Вас одному товару соответствуют одни и те же характеристики и наоборот - одни характеристики принадлежат одному товару.

UPDATE. Двумя руками за предложение Аватара. Тем более что после него до меня дошло наконец, что нужно топикстартеру
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 07.05.2013, 13:38   #4
viks1
человек
Форумчанин
 
Аватар для viks1
 
Регистрация: 11.05.2009
Сообщений: 517
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
да элементарно.

Код:
select [товары].[наименование],[характеристики].[характеристика] from [товары] inner join [характеристики] on [товары].ID=[характеристики].[ID_товара]


Логично, если у Вас одному товару соответствуют одни и те же характеристики и наоборот - одни характеристики принадлежат одному товару.

UPDATE. Двумя руками за предложение Аватара. Тем более что после него до меня дошло наконец, что нужно топикстартеру

у меня каждому товару свои характеристики, все дело в том, что это тупо одно поле мемо, в котором я пишу все что хочу
viks1 вне форума Ответить с цитированием
Старый 07.05.2013, 13:57   #5
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Наиболее оптимально в AfterScroll основного DataSet-а выдергивать их запросом по ключу и размещать в Image и/или Memo
+1
Так и только так!
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить строку по id ключу... Tatiana_91 C/C++ Базы данных 3 15.02.2013 15:11
Совпадение по номеру (ключу) DJTreeno Microsoft Office Excel 31 07.12.2011 17:10
поиск эл-та по ключу. что использовать? alex(21) Общие вопросы C/C++ 1 20.10.2010 17:50
Поиск по ключу asd874 Помощь студентам 1 19.04.2010 00:02
Упорядовачивание таблицы по ключу. Юлкунчик Помощь студентам 2 09.12.2007 20:59