![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как лучше сделать выбор с БД [FireBird, BDS 06]
Gamer © (2008-07-16 11:55:00)Здравствуйте, ув.мастера.
Нужно написать курсовую по инфе, которая использует БД FireBird.
есть такие таблицы:
ФАКУЛЬТЕТ(F_ID, НАЗВАНИЕ)
СТУДЕНТ(S_ID, F_ID, КУРС, ГРУППА, ФАМИЛ, ИМЯ, ОТЧЕСТВО)
ПРЕДМЕТ(D_ID, НАЗВАНИЕ)
П_Ф_К(D_ID, F_ID, KURS)
TEMA(T_ID, НАЗВАНИЕ)
Суть такова - программа должна написать микро конспект по выбранной теме. Поле П_Ф_К вставил для привязки предмета к курсу и фак-ту. Буду признателен, если поправите - первый раз пишу БД.
У меня возникла проблема, когда я писал окно выбора - незнaю как сделать. Пробовал DBLookUpComboBox, но безуспешно.
На окне есть поля:
Факультет
Курс
Группа
ФИО
Предмет
Тема
Тут поля связанны должны быть. Курси группунадо выбирать из Студент. И в этом вся суть.
Спасибо за внимание.
Gamer (2008-07-18 15:48:00) [1]))а я ему уже так говорил
но пасиб.
всем удачи.
oldman (2008-07-16 13:29:00) [2]
> Тут поля связанны должны быть. Курс и группу надо выбирать
> из Студент. И в этом вся суть.
Может наоборот?
Курсов, предположим 5.
Групп на каждом, предположим, 10.
Студентов в каждой, предположим, 25.
Итого 1250 студентов.
выбрав Курс сужаем до 250
выбрав Группу сужаем до 25
выбираем Студента из маленького списка
А то придется выбирать из полного списка, чтобы узнать курс и группу?
Бред! так преподу и передай.
Поросенок Винни-Пух (2008-07-16 13:10:00) [3]Можно ли в Query задать запрос, который бы выдал Strings?
Не. Можно встряхнуться и задать в форуме внятный вопрос, который бы выдал Strings.
Gamer (2008-07-16 12:43:00) [4]использую FiBPlus
Gamer (2008-07-16 12:43:00) [5]Ок. Формирую еще раз.
Надо сделать само окно выбора.
Какие тут компоненты должны быть списками?
Можно ли в Query задать запрос, который бы выдал Strings?
Если нет, то какие должны быть запросы, чтобы была связь между Темой и Предметом (который в свою очередь зависит от П_Ф_К - курса и фак-та)
Gamer (2008-07-16 12:40:00) [6]согласен, но у меня в табл. Факультеты было еще поле "Сокращенное название"
Костик (2008-07-16 12:39:00) [7]
> Gamer (16.07.08 12:27) [6]
> Точно. в "ТЕМА" забыл D_ID.
> А вопрос - как сделать чтобы...если выберу фак. то в остальных
> списках будут данные лишь по этому фак-ту и т.д.
> Это на каждый список свой датасет и датасорс? Какими компонентами
> список сделать?
Для начала чётко представь схему предметной области своей: нарисуй на бумажке таблички большими квадратиками, а в ней поля списочком. Потом проведи стрелочки от одних таблиц к другим так, чтобы начало стрелочки было напротив поля со знаком _ одной таблицы, а конец стрелочки напротив поля со знаком _ другой таблици. Это будет значить что если стрелочка идет от поля F_ID таблицы ФАКУЛЬТЕТ к полю F_ID таблицы СТУДЕНТ то значит каждому факультету соответствует ноль, один или больше студентов.
В этой всей схеме определи каким боком будет связана таблица TEMA, ну и все остальные, так чтобы каждая таблица была связана с какойто.
Когда это все сделаешь сформулируй свой вопрос еще раз.
oldman (2008-07-16 12:38:00) [8]
> ФАКУЛЬТЕТ(F_ID, НАЗВАНИЕ)
> СТУДЕНТ(S_ID, F_ID, КУРС, ГРУППА, ФАМИЛ, ИМЯ, ОТЧЕСТВО)
> П_Ф_К(D_ID, F_ID, KURS)
Зачем три таблицы? Достаточно
СТУДЕНТ(S_ID, ФАКУЛЬТЕТ, КУРС, ГРУППА, ФАМИЛ, ИМЯ, ОТЧЕСТВО)
Gamer (2008-07-16 12:36:00) [9]2 oldman
потому я и сделал таблицу П_Ф_К - чтобы можно было дописать сколько угодно связей...думал так.
oldman (2008-07-16 12:35:00) [10]
> А вопрос - как сделать чтобы...если выберу фак. то в остальных
> списках будут данные лишь по этому фак-ту
Предмет, Тема и Курс могут быть одинаковыми для ВСЕХ факультетов.
:)
История, Английский, Философия etc. проходятся везде. Обязательный минимум, знаете ли.
Gamer (2008-07-16 12:34:00) [11]Лан. Спасибо за помощь.
oldman (2008-07-16 12:32:00) [12]
> На окне есть поля:
>
> Факультет
> Курс
> Группа
В нашем институте можно было только группу вводить.
В названии группы были и курс, и факультет. У меня была ИЗ-5. Ясно и понятно. Информатика, Заочная форма, Пятый набор.
Может и у вас так, а ты не знаешь.
Dennis I. Komarov (2008-07-16 12:32:00) [13]> онологичными
SORRY
аналог...
Dennis I. Komarov (2008-07-16 12:31:00) [14]> Какими компонентами список сделать?
TDataSet и онологичными + почитать основы SQL
Сюда с конкретными проблемами...
Gamer (2008-07-16 12:29:00) [15]уже написал:)
Gamer (2008-07-16 12:27:00) [16]Точно. в "ТЕМА" забыл D_ID.
А вопрос - как сделать чтобы...если выберу фак. то в остальных списках будут данные лишь по этому фак-ту и т.д.
Это на каждый список свой датасет и датасорс? Какими компонентами список сделать?
Dennis I. Komarov (2008-07-16 12:23:00) [17]> На окне есть поля
конопли?
Прочитай [0] и попробуй понять что от нас хочешь...
oldman (2008-07-16 12:22:00) [18]
> Суть такова - программа должна написать микро конспект по
> выбранной теме.
А почему микро?
Напишет нормальный конспект - цены ей не будет!
Sergey13 (2008-07-16 12:20:00) [19]> [0] Gamer (16.07.08 11:55)
> И в этом вся суть.
Только суть какая то сумбурная, ИМХО.
> Поле П_Ф_К вставил для привязки предмета к курсу и фак-ту.
Фак-т вижу, курс - нет.
Таблица Тема вообще как то сбоку прилепилась.
ЗЫ: видимо нужно было не только гамать, но и учиться иногда.
ЗЗЫ: Ты все пела - это дело (с) Дедушка Крылов
Gamer (2008-07-16 12:07:00) [20]:) а может у кого есть другие варианты решения?