Eu criei uma tela de avaliar fundamentos dos jogadores, ao apertar no botão do gráfico é mostrado todas os fundamentos que o jogador realizou.
O gráfico funciona normalmente, porém quando eu vou realizar alguma busca:
Ele simplesmente limpa o gráfico, e se vocês reparar bem ele aumenta o valor do Y, todas vez que eu executo a busca, não aparece nenhum erro no console
Aqui segue o código:
public class ControladorGraficos implements Initializable {
ConsultasAvaliacao ca = new ConsultasAvaliacao();
ObservableList<String> data = FXCollections.observableArrayList();
ObservableList<XYChart.Data> dats = FXCollections.observableArrayList();
public void preencherData(int jogador)throws SQLException {
data.addAll(ca.pegarDatas(jogador));
dpDataDe.setItems(data);
dpDataAte.setItems(data);
}
//Aki eu busco as informações
public void buscarFundamento(String t,boolean t2,String[] datass)throws SQLException{
Connection total = null;
Statement sTotal = null;
ResultSet rsTotal = null;
XYChart.Series series = new XYChart.Series();
try {
bcGrafico.getData().clear();
series.getData().clear();
total = Conectar.getConexao();
sTotal = total.createStatement();
rsTotal = sTotal.executeQuery(Main.getSql2(t,t2,datass));
while (rsTotal.next()){
series.getData().add(new XYChart.Data(rsTotal.getString(1),rsTotal.getInt(2)));
}
bcGrafico.getData().addAll(series);
}catch (SQLException e){
e.printStackTrace();
}finally {
total.close();
sTotal.close();
rsTotal.close();
}
}
@FXML
private BarChart<?, ?> bcGrafico;
@FXML
private CategoryAxis x;
@FXML
private NumberAxis y;
@FXML
private ComboBox<String> dpDataDe;
@FXML
private ComboBox<String> dpDataAte;
@FXML
private Button btnProcurarD;
@FXML
void clickPegarData(ActionEvent event)throws SQLException{
String[] valores = new String[2];
valores[0] = dpDataDe.getSelectionModel().getSelectedItem();
valores[1] = dpDataAte.getSelectionModel().getSelectedItem();
buscarFundamento("d",true,valores);
}
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
try {
preencherData(Main.instancia.getJogadorCod());
buscarFundamento("i",false,null);
}catch (SQLException e){
e.printStackTrace();
}
}
}
O getSql2 está aqui:
public static String getSql2(String t,boolean t2,String[] datas) {
String formatar = "%d/%m/%Y %H:%i:%s";
switch (t) {
case "i":
sql2 = "SELECT DATE_FORMAT(p.parData,'" + formatar + "'),fundamentos." + getFundamento() + " from fundamentos left join jogpartifundas j on fundamentos.funCodigo = j.jogpfFundamentosFK " +
"left join partidas p on p.parCodigo = j.jogpfPartidasFK left join jogadores j2 on j.jogpfJogadoresFK = j2.jogCodigo " +
"where p.parData < '" + ConsultasAvaliacao.tempos + "%' and j2.jogCodigo = '" + Main.instancia.getJogadorCod() + "'";
break;
case "d":
if(t2) {
sql2 = "SELECT DATE_FORMAT(p.parData,'" + formatar + "'),fundamentos." + getFundamento() + " from fundamentos left join jogpartifundas j on fundamentos.funCodigo = j.jogpfFundamentosFK " +
"left join partidas p on p.parCodigo = j.jogpfPartidasFK left join jogadores j2 on j.jogpfJogadoresFK = j2.jogCodigo " +
"where p.parData >= '" + datas[0] + "' and p.parData <= '" + datas[1] + "' and j2.jogCodigo = '" + Main.instancia.getJogadorCod() + "'";
}
break;
}
return sql2;
}
Estou a dias tentando concertar esse erro, por favor me ajudem