Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294

Пишу курсач. Нужна помощь по базам данных.

15.05.2012, 18:38. Показов 2204. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю курсач на тему "Реализация и разработка программного продукта База данных"Фильмотека"".
Я с начала в Access создал БД. Там поля: Счетчик, Название фильма(EN), Название фильма(RU), Жанры, Страны, Годы выпуска и Рецензия(Это вложение MS WORD).
Потом в C++ builder на форму накинул компоненты ADOConection1 ADOTable1, DBGrid1, DataSours1. И еще 3 компонента - ComboBox1(2,3) <- Их назвал Жанры, Страны и Годы выпуска. В Access в полях Жанры и Страны писал в одно, т.е. в Жанры - (к примеру) Комедия, Криминал и т.д. и в Страны - США, Россия и т.д. Вот тут мне нужна помощь с запросами или фильтрациями. Т.е. если выбрал в ComboBox1(Жанры) - Комедия, в БД покажет список фильмов в котором присутствует слово Комедия в поле Жанры. Как это сделать.

Макет программы:

Это не все что я написал, т.к. с остальными компонентами я разобрался. Но потом, если что спрошу.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.05.2012, 18:38
Ответы с готовыми решениями:

Пишу аналог Radmin - нужна Ваша помощь
Приветствую всех участников форума. У меня есть вопрос: Вступление. Я пишу аналог программы Radmin (позволяет управлять удаленным...

Я учусь на психолога, сейчас пишу курсач про мотивацию программистов
Всем здрасте!!! Я учусь на психолога, сейчас пишу курсач про мотивацию программистов. Сроки поджимают, срочно нужна выборка:wall:. ...

Нужна помощь по Базе Данных
Нужна помощь по базе данных в Delphi. Программа позволяет пользователю вводить данные, редактировать, создавать справочники, запросы,...

21
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.05.2012, 19:52
Я ж тебе написал ответ на тот вопрос который ты задавал
0
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
15.05.2012, 20:58  [ТС]
Где я задавал?
Ну вообще вопросы немного отличаются. Когда нашел ответ, но совсем не это мне кажется.

У меня вопрос в фильтрации когда в одном поле (к пример поле Жанры и в низу список допустим 1-й фильм по списку несколько слов(Комедия, Драма и.т.д.) а не одно.) Это разве тоже самое что и у того нашел? То что ты ответил тому другому юзеру. он то спрашивал тоже самое, но в скриншете у него одно слово в поле.

Добавлено через 7 минут
как мне эту процедуру вызвать? Куда писать?
C++
1
2
3
4
5
6
void __fastcall TFindMemory::ComboBox1Change(TObject *Sender)
{
 ADOTable1->Filtered = false; 
 ADOTable1->Filter = "имя_поля фильтрации="+QuotedStr(ComboBox1->Text+"*");
 ADOTable1->Filtered = true; 
}
У меня при двойном щелчке:
C++
1
2
3
4
5
void __fastcall TForm2::ComboBox1Change(TObject *Sender)
{
 
}
//---------------------------------------------------------------------------
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.05.2012, 21:16
У тебя в Combobox введены названия жанров или тебе туда надо из базы заносить?

Добавлено через 5 минут
Цитата Сообщение от Evgeny92 Посмотреть сообщение
как мне эту процедуру вызвать? Куда писать?
Это когда ты будешь выбирать из списка нужные тебе жанры фильтрация мгновенно произойдёт
0
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
15.05.2012, 21:19  [ТС]
в первом Combobox'е(назван Жанры) там названия жанров. при выполнении программы, выбираем в в Combobox'е название Жанра. И БД показывает те фильмы которые в поле Жанры присутствует такое слово жанр.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.05.2012, 21:24
Судя из скриншота, то тут простой фильтрацией не обойдёшься
0
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
15.05.2012, 22:17  [ТС]
Так что, не поможете? Как это сделать, закодить?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.05.2012, 22:21
А в каком билдере проект делаешь?
0
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
15.05.2012, 22:29  [ТС]
С++Builder 6

Добавлено через 2 минуты
Может подскажете, какой-нибудь типа конспекта по билдеру. Не книгу. А то что о главном было синтаксисы всякие. ЧТо бы могло бы помочь при написании курсовой?
У меня есть Архангельский только скачал ****500 страниц.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.05.2012, 22:30
скинь проект я гляну
0
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
15.05.2012, 22:53  [ТС]


Добавлено через 4 минуты
В ADOConection1 поменять путь на Access. Когда откроешь проект, там сначала Form1 - это BDFilmoteka Меню c кнопками. В ViewFom есть все формы для проекта.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
16.05.2012, 10:03
Чё-то файл не качается?
0
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
16.05.2012, 14:37  [ТС]
Должен качаться.
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
16.05.2012, 15:16
Evgeny92, я скачал, посмотрел на этот скелет
Чего конкретно хотим?
Что не получается?
0
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
16.05.2012, 16:29  [ТС]
Ну я просто не знаю как сделать фильтрацию или запррос. Т.е. из БД поля Жанры, Страны, Годы выпуска сделать фильтр или запрос какбы в ComboBox1 ComboBox2 ComboBox3 в Выпадающиеся списки.
Там в поле Жанры написано несколько названий жанров. И в поле страны тоже несколько.
Надо сделать так чтобы например в ComboBox1(Жанры) Выбрали название жанра и БД показал бы список фильмов в котором присутствует такое название в поле Жанры.
Как закодить? Хотя бы только про ComboBox1 .
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
16.05.2012, 16:52
Evgeny92, сейчас доступа к Вашему проекту не имею, но примерно так (если через запрос, т.е. надо добавить ADOQuery1):

C++
1
2
3
4
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM имя_таблицы WHERE Жанр ='" + ComboBox1->Text + "'");
ADOQuery1->Open();
Чуть позже сообщу точнее, если не разберетесь сами.
0
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
16.05.2012, 17:01  [ТС]
В моем случае это правильно будет?

C++
1
2
3
4
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM BDFilmoteka WHERE Жанр ='" + ComboBox1->Text + "'");
ADOQuery1->Open();
Вопрос. Что писать вот тут, там где кавычки?
C++
1
ComboBox1->Text + "'")
Добавлено через 29 секунд
Сейчас попробую
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
16.05.2012, 17:06
Evgeny92,
Цитата Сообщение от Evgeny92 Посмотреть сообщение
В моем случае это правильно будет?
У вас поле в таблице BDFilmoteka называется именно "Жанр"?

Цитата Сообщение от Evgeny92 Посмотреть сообщение
Вопрос. Что писать вот тут, там где кавычки?
Не понял вопроса...
Цитата Сообщение от Evgeny92 Посмотреть сообщение
C++
1
ComboBox1->Text
- это текущее содержимое ComboBox'а - то, что там выбрано на данный момент.
0
 Аватар для Evgeny92
277 / 5 / 4
Регистрация: 09.11.2011
Сообщений: 294
16.05.2012, 17:28  [ТС]
В Access запрос не делал. Может надо было сделать?
Я навеное так понимаю из кода:
C++
1
2
3
4
5
6
7
void __fastcall TForm2::ComboBox1Change(TObject *Sender)
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear(); 
ADOQuery1->SQL->Add("SELECT * FROM BDFilmoteka WHERE Жанры ='" + ComboBox1->Text + "'");
ADOQuery1->Open();Типа открывает таблицу из BDFilmoteka ?
}
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
16.05.2012, 18:04
Evgeny92,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void __fastcall TForm2::BitBtn1Click(TObject *Sender)
{
        ADOQuery2->Close();
        ADOQuery2->SQL->Clear();
        ADOQuery2->SQL->Add("SELECT * FROM BDFilmateka WHERE Жанры ='" + ComboBox1->Text + "'");
        ADOQuery2->Open();
        DBGrid1->DataSource->DataSet=ADOQuery2;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm2::ComboBox1DropDown(TObject *Sender) // как вариант
{
        ComboBox1->Clear(); 
        ADOQuery1->Close();
        ADOQuery1->SQL->Clear();
        ADOQuery1->SQL->Add("SELECT DISTINCT [Жанры] FROM BDFilmateka");
        ADOQuery1->Open();
        ADOQuery1->First();
        for (int i=0; i<ADOQuery1->RecordCount; i++)
        {
        ComboBox1->Items->Add(ADOQuery1->FieldByName("Жанры")->AsString);
        ADOQuery1->Next();
        }
}
Добавлено через 1 минуту
1) Куда выводить результат поиска?
2) У Вас ужасно спроектирована БД. На защите курсовой минус 1-2 балла за такое.

Добавлено через 25 минут
Evgeny92, уж не в DBMemo1 ли Вы собираетесь выводить результат я надеюсь?

DBMemo1 позволит выводить Вам содержимое только какого-то одного поля (столбика).
Для отражения полной информации о фильме придется выбрать один из 3ех вариантов (на самом деле их больше):
1) Создать 6-7 рядом стоящих DBMemo // шутка
2) Если так хочется выводить в Memo, то использовать обычный мемо: там можно выводить полную строку, пользуясь каким-нибудь разделителем, типа ";" или "|".
3) Использовать еще один DBGrid.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.05.2012, 18:04
Помогаю со студенческими работами здесь

Чтение данных, нужна помощь!
Здравствуйте, уважаемые! Помогите разобраться с алгоритмом: try { do { for (int j=1; j&lt;=9; j++) ...

Нужна помощь - Запрос в базу данных???
Всем доброе время суток!!! Подскажите пож. мне нужно сделать запрос в базу данных, люди добавляют новые сайты в каталог сейчас...

Делаю базу данных нужна помощь
И так!!! Сразу говорю, что с Lotusom работаю очень мало, да и по программированию у меня 3+ , но так как пришлось с этим столкнуться,...

Нужна помощь с backup`ом баз данных!
Просьба помочь. Нужно бекапить базы данных SQL. Приветствуеться наличие шедулера, возможности сохранения на FTP сервера. Лучше что бы это...

Нужна помощь по передачи данных в чате
Народ помогите, вообще ктонибудь видел чат gorodok.august4u.ru? так вот там в меню есть смайлики, когда жмеш открывается другое окно со...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru