Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.24;
Скачать: CL | DM;

Вниз

как лучше сделать выбор с БД   Найти похожие ветки 

 
Gamer   (2008-07-16 11:55) [0]

Здравствуйте, ув.мастера.
Нужно написать курсовую по инфе, которая использует БД FireBird.
есть такие таблицы:

ФАКУЛЬТЕТ(F_ID, НАЗВАНИЕ)
СТУДЕНТ(S_ID, F_ID, КУРС, ГРУППА, ФАМИЛ, ИМЯ, ОТЧЕСТВО)
ПРЕДМЕТ(D_ID, НАЗВАНИЕ)
П_Ф_К(D_ID, F_ID, KURS)
TEMA(T_ID, НАЗВАНИЕ)

Суть такова - программа должна написать микро конспект по выбранной теме. Поле П_Ф_К вставил для привязки предмета к курсу и фак-ту. Буду признателен, если поправите - первый раз пишу БД.
У меня возникла проблема, когда я писал окно выбора - незнaю как сделать. Пробовал DBLookUpComboBox, но безуспешно.
На окне есть поля:

Факультет
Курс
Группа
ФИО
Предмет
Тема

Тут поля связанны должны быть. Курс и группу надо выбирать из Студент. И в этом вся суть.
Спасибо за внимание.


 
Поросенок Винни-Пух ©   (2008-07-16 12:05) [1]

не за что


 
Gamer   (2008-07-16 12:07) [2]

:) а может у кого есть другие варианты решения?


 
Sergey13 ©   (2008-07-16 12:20) [3]

> [0] Gamer   (16.07.08 11:55)
> И в этом вся суть.

Только суть какая то сумбурная, ИМХО.

> Поле П_Ф_К вставил для привязки предмета к курсу и фак-ту.

Фак-т вижу, курс - нет.
Таблица Тема вообще как то сбоку прилепилась.

ЗЫ: видимо нужно было не только гамать, но и учиться иногда.

ЗЗЫ: Ты все пела - это дело (с) Дедушка Крылов


 
oldman ©   (2008-07-16 12:22) [4]


> Суть такова - программа должна написать микро конспект по
> выбранной теме.


А почему микро?
Напишет нормальный конспект - цены ей не будет!


 
Dennis I. Komarov ©   (2008-07-16 12:23) [5]

> На окне есть поля

конопли?

Прочитай [0] и попробуй понять что от нас хочешь...


 
Gamer   (2008-07-16 12:27) [6]

Точно. в "ТЕМА" забыл D_ID.
А вопрос - как сделать чтобы...если выберу фак. то в остальных списках будут данные лишь по этому фак-ту и т.д.
Это на каждый список свой датасет и датасорс? Какими компонентами список сделать?


 
Gamer   (2008-07-16 12:29) [7]

уже написал:)


 
Dennis I. Komarov ©   (2008-07-16 12:31) [8]

> Какими компонентами список сделать?

TDataSet и онологичными + почитать основы SQL

Сюда с конкретными проблемами...


 
Dennis I. Komarov ©   (2008-07-16 12:32) [9]

> онологичными

SORRY
 аналог...


 
oldman ©   (2008-07-16 12:32) [10]


> На окне есть поля:
>
> Факультет
> Курс
> Группа


В нашем институте можно было только группу вводить.
В названии группы были и курс, и факультет. У меня была ИЗ-5. Ясно и понятно. Информатика, Заочная форма, Пятый набор.
Может и у вас так, а ты не знаешь.


 
Gamer   (2008-07-16 12:34) [11]

Лан. Спасибо за помощь.


 
oldman ©   (2008-07-16 12:35) [12]


> А вопрос - как сделать чтобы...если выберу фак. то в остальных
> списках будут данные лишь по этому фак-ту


Предмет, Тема и Курс могут быть одинаковыми для ВСЕХ факультетов.
:)
История, Английский, Философия etc. проходятся везде. Обязательный минимум, знаете ли.


 
Gamer   (2008-07-16 12:36) [13]

2 oldman
потому я и сделал таблицу П_Ф_К - чтобы можно было дописать сколько угодно связей...думал так.


 
oldman ©   (2008-07-16 12:38) [14]


> ФАКУЛЬТЕТ(F_ID, НАЗВАНИЕ)
> СТУДЕНТ(S_ID, F_ID, КУРС, ГРУППА, ФАМИЛ, ИМЯ, ОТЧЕСТВО)
> П_Ф_К(D_ID, F_ID, KURS)


Зачем три таблицы? Достаточно

СТУДЕНТ(S_ID, ФАКУЛЬТЕТ, КУРС, ГРУППА, ФАМИЛ, ИМЯ, ОТЧЕСТВО)


 
Костик   (2008-07-16 12:39) [15]


> Gamer   (16.07.08 12:27) [6]
> Точно. в "ТЕМА" забыл D_ID.
> А вопрос - как сделать чтобы...если выберу фак. то в остальных
> списках будут данные лишь по этому фак-ту и т.д.
> Это на каждый список свой датасет и датасорс? Какими компонентами
> список сделать?

Для начала чётко представь схему предметной области своей: нарисуй на бумажке таблички большими квадратиками, а в ней поля списочком. Потом проведи стрелочки от одних таблиц к другим так, чтобы начало стрелочки было напротив поля со знаком _ одной таблицы, а конец стрелочки напротив поля со знаком _ другой таблици. Это будет значить что если стрелочка идет от поля F_ID таблицы ФАКУЛЬТЕТ к полю F_ID таблицы СТУДЕНТ то значит каждому факультету соответствует ноль, один или больше студентов.
В этой всей схеме определи каким боком будет связана таблица TEMA, ну и все остальные, так чтобы каждая таблица была связана с какойто.
Когда это все сделаешь сформулируй свой вопрос еще раз.


 
Gamer   (2008-07-16 12:40) [16]

согласен, но у меня в табл. Факультеты было еще поле "Сокращенное название"


 
Gamer   (2008-07-16 12:43) [17]

Ок. Формирую еще раз.
Надо сделать само окно выбора.
Какие тут компоненты должны быть списками?
Можно ли в Query задать запрос, который бы выдал Strings?
Если нет, то какие должны быть запросы, чтобы была связь между Темой и Предметом (который в свою очередь зависит от П_Ф_К - курса и фак-та)


 
Gamer   (2008-07-16 12:43) [18]

использую FiBPlus


 
Поросенок Винни-Пух ©   (2008-07-16 13:10) [19]

Можно ли в Query задать запрос, который бы выдал Strings?

Не. Можно встряхнуться и задать в форуме внятный вопрос, который бы выдал Strings.


 
oldman ©   (2008-07-16 13:29) [20]


> Тут поля связанны должны быть. Курс и группу надо выбирать
> из Студент. И в этом вся суть.


Может наоборот?
Курсов, предположим 5.
Групп на каждом, предположим, 10.
Студентов в каждой, предположим, 25.
Итого 1250 студентов.

выбрав Курс сужаем до 250
выбрав Группу сужаем до 25
выбираем Студента из маленького списка

А то придется выбирать из полного списка, чтобы узнать курс и группу?
Бред! так преподу и передай.


 
Gamer   (2008-07-18 15:48) [21]

))а я ему уже так говорил
но пасиб.
всем удачи.



Страницы: 1 вся ветка

Текущий архив: 2008.08.24;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.025 c
15-1215601167
SoundB
2008-07-09 14:59
2008.08.24
SQL


1-1197322753
Евгений
2007-12-11 00:39
2008.08.24
Сделать недоступным столбец в DBGrid


15-1215183486
Хохол
2008-07-04 18:58
2008.08.24
Пятничный флуд: Большой адронный коллайдер


15-1215161784
гпрс
2008-07-04 12:56
2008.08.24
автодозвон


15-1215089131
Kolan
2008-07-03 16:45
2008.08.24
Как управлять проектами?