Barchart с использованием базы данных не показывает - PullRequest
1 голос
/ 18 мая 2019

Я хочу создать диаграмму, используя базу данных mysql с Jfreechart, вот код, который я использовал:

try {
    String query = 
        "Select id,Prop_menages_Urbains_Proprietaires from fes";

    JDBCCategoryDataset dataset = 
        new JDBCCategoryDataset(
            DBConnection.DBConnection(),
            query
        );

    JFreeChart chart = 
            ChartFactory.createBarChart(
                "test", 
                "id", 
                "Prop_menages_Urbains_Proprietaires",
                dataset, 
                PlotOrientation.VERTICAL, 
                false, 
                true, 
                true
            );

    BarRenderer render = null;

    CategoryPlot plot = null;

    render = new BarRenderer();

    ChartFrame fram = 
        new ChartFrame("test", chart);

    fram.setVisible(true);
    fram.setSize(600,650);
}
catch(Exception ex) {
    System.out.println("Erreur: " + ex);
}

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

ОБНОВЛЕНИЕ: я попробовал тот же код, но на этот раз я использовал другие столбцы из базы данных, и это сработало, что за проблемы с другим, зная, что они все числа

1 Ответ

1 голос
/ 19 мая 2019

API JDBCCategoryDataset указывает:

Запрос SQL должен возвращать как минимум два столбца. Первый столбец будет именем категории и оставшимися значениями столбцов (каждый столбец представляет серию).

Этот завершенный пример , который вы успешно адаптировали, иллюстрирует эффект. Тогда возникает вопрос:

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

Источник executeQuery() показывает, как каждый из java.sql.Types сопоставляется с числовым значением: числовой тип становится Number напрямую, тип даты становится Number представляет миллисекунды из Java эпоха , а тип символа преобразуется с использованием Double.valueOf(); default это null.

В этом случае убедитесь, что Prop_menages_Urbains_Proprietaires имеет тип SQL, который подходит для преобразования в числовое значение.

...