![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Nike0 |
![]() ![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 61 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Доброго времени суток. Я хочу построить диаграмму, которая показывает успеваемость между отделениями, группами. Подключал нужные мне таблицы с данными и хотел со строк DBGrid'a данные записывать в Series1->AddBar("сюда средний балл","сюда название отделения/группы", цвет). Единственное что я нашел, это свойство DBGrid->Fields[i], и то, могу обращаться только к первой строке. Случайно нет такого счастья, как в StringGrid'e: Cells[i][j]?
|
![]() ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Зачем понадобилось вручную рисовать? Есть же TDBChart, который берет информацию прямо из набора данных. Поймите вы, DBGrid - это всего лишь компонент, который показывает данные, а не хранит их!!! Не надо его использовать как хранилище. Нужны данные - бери из источника.
|
Nike0 |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 61 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Зачем понадобилось вручную рисовать? Есть же TDBChart, который берет информацию прямо из набора данных. Поймите вы, DBGrid - это всего лишь компонент, который показывает данные, а не хранит их!!! Не надо его использовать как хранилище. Нужны данные - бери из источника. что-то я совсем не нашел где указывается в DBChart'e источник данных для построения диаграммы... Добавлено через 4 мин. что-то я совсем не нашел где указывается в DBChart'e источник данных для построения диаграммы... а, все, исправлено, метод тыка и исследования дал свои плоды)) |
Nike0 |
![]()
Сообщение
#4
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 61 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
появилась новая загвоздка в SQL-запросе: как говорил ранее, я хочу создать запрос, который выводил в первом столбце отделения, а второй - средний балл по ним. Однако я смог сделать только то, чтобы считал средний балл или только среди всех отделений, или только конкретного, и то, выводит только число, отделение не хочет. Вот структура БД:
![]() Вот запрос, которым я пытался вытащить данные для одного отделения: Код SELECT Avg(Оценка) AS СрБалл FROM ((Отделения INNER JOIN Группы ON Отделения.Id_отделения = Группы.Id_Отделения) INNER JOIN Студенты ON Группы.Id_группы = Студенты.Id_группы) INNER JOIN Успеваемость ON Студенты.Id_студента = Успеваемость.Id_студента WHERE Отделения.Отделение = "Программирования"; Сообщение отредактировано: Nike0 - 26.05.2011 11:25 |
IUnknown |
![]()
Сообщение
#5
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
SQL SELECT Отделения.отделение, Avg(Успеваемость.оценка) AS Средняя_Оценка FROM ((Отделения INNER JOIN Группы ON Отделения.id_отделения = Группы.Id_отделения) INNER JOIN Студенты ON Группы.Id_группы = Студенты.Id_группы) INNER JOIN Успеваемость ON Студенты.Id_студента = Успеваемость.Id_студента GROUP BY Отделения.отделение; прекрасно выводит отделения и средние баллы по ним: ![]() (при условии, что в базе есть студенты, принадлежащие разным отделениям. Я сначала тоже заполнил базу несколькими значениями, запустил SQL-запрос, а он мне только одно отделение со средним баллом показывает. Потом сообразил, что все группы, куда я запихал студентов - как раз с одного отделения и есть, разумеется, мне и выдается в ответе одно среднее значение. Добавил пару студентов из других групп - заработало...) |
Nike0 |
![]()
Сообщение
#6
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 61 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
а вот, точно, у меня только у программистов были студенты)) спасибо, невнимателен немного)
|
![]() ![]() |
![]() |
Текстовая версия | 17.06.2025 17:45 |