2015-08-23 2 views
2

Я хочу создать круговую диаграмму в Delphi, которая покажет пользователю количество людей, которые играют определенный вид спорта.Использование Delphi TChart для отображения информации из базы данных

Следующие операторы SQL получают информацию из базы данных и сохраняют количество людей в переменной. Тип данных в базе данных - да/нет, поэтому у тех, кто играет определенный вид спорта, будет тик, а те, кто этого не сделает, не будут. Оператор SQL будет определить, сколько людей играет определенный спорт (если есть галочка в базе данных)

qry.sql.clear; 
qry.sql.add('SELECT Count(tennis) AS [NoTennis] FROM [Sports] WHERE Tennis = True'); 
qry.Open; 
iTennis := qry['NoTennis']; {integer variable} 

Это повторяется для всех других видов спорта, таких как плавание, хоккей и т.д.

После этого данные должны быть представлены в круговой диаграмме. У меня есть следующий код ...

Chart1.Series[0].AddXY(iTennis, 1, 'Tennis', clTeeColor); 

Это также, очевидно, повторяется для всех других видов спорта. Но вместо того, чтобы показывать мои данные во время работы, он по-прежнему отображает случайные данные о клавиатурах и автомобилистах и ​​т. Д. Чтобы узнать, о чем я говорю, нажмите here

Как получить TChart для изменения его данных? Является ли это оператором SQL или добавлением значений x и y, вызывающих проблему?

+1

Не волнуйтесь. Это пример данных, показанных во время разработки, которые используются, чтобы помочь вам настроить диаграмму, как вы можете видеть предварительный просмотр. В любом случае, вы можете рассмотреть возможность получения статистики сразу (в одном запросе) и использовать «TDBChart». – TLama

+0

Или, может быть, лучше построить структуру (класс), в которой будут храниться все данные, которые вы представляете, и докладчик, которые настраивают диаграмму. Заполните экземпляр данными и представите их. После этого не имеет значения, откуда вы получаете данные. Сначала создайте презентатора и проверьте его. После этого заполните экземпляр данными из db и представите его. –

+0

Можете ли вы представить простой пример проекта, используя примерную базу данных, мы можем запустить «как есть», чтобы воспроизвести проблему здесь? Благодарю. –

ответ

2

Вы видите круговую диаграмму. Тип диаграммы имеет отношение к тому, как вы добавляете данные в диаграмму. Я помню, что AddXy был только для линейной диаграммы. Попробуйте

Chart1.Series[0].Add(123, 'Tennis'); 

См. Steema documentation.

Чтобы очистить ранее сгенерированных значений из серии, используйте

Chart1.Series[0].Clear(); 
Смежные вопросы