4 / 4 / 2
Регистрация: 01.05.2011
Сообщений: 98
1

Подсчет количества фильмов по жанрам

07.09.2012, 00:21. Показов 1663. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Есть небольшой вопрос, его суть такова: существует БД видеопроката, в базу вносятся фильмы, которые имеются. Хочу посчитать кол-во фильмов в каждом жанре. Написал код
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for i:=1 to ADOTable1.RecordCount do
  begin
  if ADOTable1.Locate('Æàíð','Áîåâèê',[]) = true then
  Inc(a);
  if ADOTable1.Locate('Æàíð','Ôàíòàñòèêà',[]) = true then
  Inc(b);
  if ADOTable1.Locate('Æàíð','Äðàìà',[]) = true then
  Inc(c);
  if ADOTable1.Locate('Æàíð','Èñòîðè÷åñêèé',[]) = true then
  Inc(d);
  if ADOTable1.Locate('Æàíð','Êîìåäèÿ',[]) = true then
  Inc(e);
  if ADOTable1.Locate('Æàíð','Ìåëîäðàìà',[]) = true then
  Inc(f);
  if ADOTable1.Locate('Æàíð','Óæàñû',[]) = true then
  Inc(g);
  if ADOTable1.Locate('Æàíð','Äåòåêòèâ',[]) = true then
  Inc(h);
   end;
Но вот в чем беда: если у меня, например, один фильм жанра "Боевик" и один фильм жанра "Комедия", в конечном итоге программа выдает мне, что боевиков - 2 и комедий 2, т.е. кол-во записей в БД.
Помогите разобраться, пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2012, 00:21
Ответы с готовыми решениями:

Создать массив, содержащий названия фильмов, организованных по жанрам
Создать массив, содержащий названия фильмов, организованных по жанрам. пусть это будет...

Подсчёт количества символов и количества строк в файле
Нужно написать программу, которая запрашивает у пользователя имя (адрес) текстового файла, далее...

Вернуть список жанров, упорядоченных по алфавиту с указанием количества фильмов, относящихся к этому жанру
Имеется две сущности фильм(films) и жанр(genre) films: id,name,status,genre_id genre: id, name...

Вывести список всех фильмов, встречающихся в списке, в порядке убывания количества голосов, отданных за этот фильм
На вход программе в первой строке подается количество пришедших sms-сообщений N. В каждой из...

3
4 / 4 / 2
Регистрация: 18.10.2011
Сообщений: 89
07.09.2012, 07:59 2
Надо както так:

Delphi
1
2
3
4
5
6
7
 ADOTable1.First;
while not dm.ADOTable1.Eof do
       begin
  if ADOTable1.fieldByName('Жанр').Value='Боевик' then
  Inc(a);
ADOTable1.Next;
end;
1
71 / 71 / 7
Регистрация: 19.07.2011
Сообщений: 357
07.09.2012, 09:15 3
Надо использовать средства самого движка базы.
Я не знаю, какая у тебя база, но вот, например, если таблица примерно такая:
Id|Title|Genre
На движке проверяешь как сработает такой скрипт:
T-SQL
1
2
3
select Genre, count(Genre) as MyCounter
from MyTable
group by Genre
потом в datamodule или на форму бросаешь ADOQuery и в его SQL строке прописываешь этот скрипт.
И будет тебе щассе - готовый датасет со статистикой!
1
4 / 4 / 2
Регистрация: 01.05.2011
Сообщений: 98
07.09.2012, 19:31  [ТС] 4
всем спасибо!
0
07.09.2012, 19:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2012, 19:31
Помогаю со студенческими работами здесь

Задача на поиск алгоритма оптимального разбития набора фильмов с учетом оценок этих фильмов
К дедушке приехали внуки: Екатерина и Дмитрий. Дедушка подготовил им подарок - коробку с...

Задача на поиск алгоритма оптимального разбития набора фильмов с учетом оценок этих фильмов
К дедушке приехали внуки: Екатерина и Дмитрий. Дедушка подготовил им подарок - коробку с...

Вывести среднюю цену всех фильмов того режисёра, который снял больше всего фильмов
Задача в том что бы вывести среднюю цену всех фильмов того режисёра, который снял больше всего...

Подсчет количества
Уважаемые, подскажите пожалуйста какую функцию использовать для "подсчета количества призовых мест...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru