Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помощь в написании базы данных на С++ Builder

18K
15 декабря 2007 года
s2dent
13 / / 01.09.2006
Нужен совет в написании БД на С++ Builder (или Delphi). У меня на форме содержатся два компонента TDataSourcе, два TTablе (DiskTable и UserTable) и два TDBGrid. Первый TDBGrid связан с таблицей БД содержащей данные о существующих в магазине дисках, таблица DiskTable (ID код диска, название диска, цена и т.д.), второй TDBGrid связан с таблицей БД, содержащей данные о клиенте, таблица UserTable (ID код заказанного диска, Ф.И.О, логин, эл. почта и т.д.). ID код заказанного диска, естественно, совпадает с существующим в таблице DiskTable. А теперь перехожу собственно и к моей проблеме: мне нужно, чтобы при подсвечивании одной из строк в TDBGrid, содержащей данные о клиенте, в отдельном Edit’е (или где-нибудь ещё) выводилось название диска, которое содержится в таблице DiskTable. Т.е. мне нужно получить данные определенной строки таблицы.
P.S. Прошу не смеяться над моим вопросом, я только учусь написании БД в среде С++ Builder и с компонентами BDE знаком «туго». :D
3.2K
16 декабря 2007 года
nikipelovav
152 / / 12.04.2006
Цитата: s2dent
Нужен совет в написании БД на С++ Builder (или Delphi). У меня на форме содержатся два компонента TDataSourcе, два TTablе (DiskTable и UserTable) и два TDBGrid. Первый TDBGrid связан с таблицей БД содержащей данные о существующих в магазине дисках, таблица DiskTable (ID код диска, название диска, цена и т.д.), второй TDBGrid связан с таблицей БД, содержащей данные о клиенте, таблица UserTable (ID код заказанного диска, Ф.И.О, логин, эл. почта и т.д.). ID код заказанного диска, естественно, совпадает с существующим в таблице DiskTable. А теперь перехожу собственно и к моей проблеме: мне нужно, чтобы при подсвечивании одной из строк в TDBGrid, содержащей данные о клиенте, в отдельном Edit’е (или где-нибудь ещё) выводилось название диска, которое содержится в таблице DiskTable. Т.е. мне нужно получить данные определенной строки таблицы.
P.S. Прошу не смеяться над моим вопросом, я только учусь написании БД в среде С++ Builder и с компонентами BDE знаком «туго». :D



А как ты организовал структуру БД. Или с этим тоже "туго". Я не хочу тебя обидеть. просто хочу понять, ты не знаешь как решить вопрос "технически" или не представляешь как организованы данные?

По поводу твоей проблемы. Связь таблиц по полю ID, при условии, что оно индексное, позволит тебе организовать пару "ведущий - ведомый".
При этом, позиционируясь на запись "клиента" ты сможешь увидеть все записи заказаных или купленных диков. Дополнительные фильтры по каким-то признакам помогут отображать, например, только не оплаченные диски.

18K
16 декабря 2007 года
s2dent
13 / / 01.09.2006
Спасибо за беспокойство! Проблема решилась опытным путем, в свойствах DiskTable установил MasterSourcе равным DiskSource (TDataSourcе), тоже-самое сделал в св-ве MasterFields. Затем связал обе таблицы по полю, ID (может, что не так описал, но факт работоспособности остался :p ).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог