2
mySQLデータベースの列の特定の値の名前を変更する際に問題があります。最初は名前を変更するのに 'AS'を使うことができると思っていましたが、実際には列の値の名前を変更しようとしています。私の列の名前はFoundLostです。このカラムでは、Storeは '0'と '1'を格納します。 '0'が見つかり、 '1'が失われています。クエリ内の値の変更
この値の名前を変更する理由は、このデータベースのデータを使用してpieChartを作成するためです。関数.getNameには、名前 '0'と '1'が与えられます。
誰かが私を助けてくれることを望んでいました!
public static ObservableList getPChartFoundLost() {
String query = "SELECT FoundLost, concat(round(count(FoundLost) *100/(SELECT count(FoundLost) FROM Luggage))) AS percent FROM Luggage GROUP BY FoundLost";
ObservableList FoundLost = FXCollections.observableArrayList();
Connection connection = DatabaseUtils.connect();
if (connection != null) {
try {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
FoundLost.add(new PieChart.Data(resultSet.getString("FoundLost"), resultSet.getInt("percent")));
}
resultSet.close();
statement.close();
} catch (SQLException sqle) {
System.out.println(sqle.getMessage());
}
DatabaseUtils.disconnect(connection);
}
return FoundLost;
}
コントローラー:クエリと
クラスは、以下のコードである
public void clickPChartFoundLost(ActionEvent event) {
//PieChart
ObservableList FoundLost = StatisticsUtils.getPChartFoundLost();
pieChart.setVisible(true);
pieChart.setData(FoundLost);
pieChart.setTitle("Found and Lost luggage");
for (final PieChart.Data data : pieChart.getData()) {
data.getNode().addEventHandler(MouseEvent.ANY,
new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
//Label vullen met data van Observable list uit Database
pieChartValueLable.setText(String.valueOf(data.getName()) + ": "
+ String.valueOf(data.getPieValue()) + "%");
}
});
}
}
感謝!!
うわー、ありがとう! –