IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> TChart & DBGrid (Code Gear 2010) C++, создание диаграммы
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 61
Пол: Мужской
Реальное имя: Илья

Репутация: -  0  +


Доброго времени суток. Я хочу построить диаграмму, которая показывает успеваемость между отделениями, группами. Подключал нужные мне таблицы с данными и хотел со строк DBGrid'a данные записывать в Series1->AddBar("сюда средний балл","сюда название отделения/группы", цвет). Единственное что я нашел, это свойство DBGrid->Fields[i], и то, могу обращаться только к первой строке. Случайно нет такого счастья, как в StringGrid'e: Cells[i][j]?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Зачем понадобилось вручную рисовать? Есть же TDBChart, который берет информацию прямо из набора данных. Поймите вы, DBGrid - это всего лишь компонент, который показывает данные, а не хранит их!!! Не надо его использовать как хранилище. Нужны данные - бери из источника.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 61
Пол: Мужской
Реальное имя: Илья

Репутация: -  0  +


Цитата(IUnknown @ 25.05.2011 15:08) *

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

что-то я совсем не нашел где указывается в DBChart'e источник данных для построения диаграммы...

Добавлено через 4 мин.
Цитата(Nike0 @ 25.05.2011 19:53) *

что-то я совсем не нашел где указывается в DBChart'e источник данных для построения диаграммы...

а, все, исправлено, метод тыка и исследования дал свои плоды))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 61
Пол: Мужской
Реальное имя: Илья

Репутация: -  0  +


появилась новая загвоздка в SQL-запросе: как говорил ранее, я хочу создать запрос, который выводил в первом столбце отделения, а второй - средний балл по ним. Однако я смог сделать только то, чтобы считал средний балл или только среди всех отделений, или только конкретного, и то, выводит только число, отделение не хочет. Вот структура БД:Прикрепленное изображение.
Вот запрос, которым я пытался вытащить данные для одного отделения:
Код
SELECT Avg(Оценка) AS СрБалл
FROM ((Отделения INNER JOIN Группы ON Отделения.Id_отделения = Группы.Id_Отделения)
INNER JOIN Студенты ON Группы.Id_группы = Студенты.Id_группы) INNER JOIN Успеваемость ON Студенты.Id_студента = Успеваемость.Id_студента
WHERE Отделения.Отделение = "Программирования";


Сообщение отредактировано: Nike0 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


SQL
SELECT Отделения.отделение, Avg(Успеваемость.оценка) AS Средняя_Оценка
FROM ((Отделения INNER JOIN Группы ON Отделения.id_отделения = Группы.Id_отделения)
INNER JOIN Студенты ON Группы.Id_группы = Студенты.Id_группы) INNER JOIN Успеваемость
ON Студенты.Id_студента = Успеваемость.Id_студента
GROUP BY Отделения.отделение;


прекрасно выводит отделения и средние баллы по ним:
Прикрепленное изображение

(при условии, что в базе есть студенты, принадлежащие разным отделениям. Я сначала тоже заполнил базу несколькими значениями, запустил SQL-запрос, а он мне только одно отделение со средним баллом показывает. Потом сообразил, что все группы, куда я запихал студентов - как раз с одного отделения и есть, разумеется, мне и выдается в ответе одно среднее значение. Добавил пару студентов из других групп - заработало...)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 61
Пол: Мужской
Реальное имя: Илья

Репутация: -  0  +


а вот, точно, у меня только у программистов были студенты)) спасибо, невнимателен немного)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 20:22
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name