Opa, vim aqui pra tirar uma duvida, ver se algum de vocês sabem o porquê de estar acontecendo.
Meu gráfico só atualiza se o valor que eu inseri for maior que o valor que já tem no gráfico.
Minha tabela com todas as vendas, é possível ver que tem mais de 7 vendas registradas…

Meu gráfico
mostra o código aí chefia
depois que eu escrevi a dúvida eu resolvi heheheh, desculpa ae, vou colocar o resolvido no post
1 curtida
meu gráfico tava sendo feito por um método que só pegava 2 atributos(que era o preço da venda e o produto), adicionei os códigos de venda como atributo e agora aparece todas as vendas… o que eu estou em duvida pra fazer é como fazer uma consulta por data no mysql. Por ex: Pesquisar as vendas do mÊs de outubro… teria alguma ideia?
Entendi… Sua coluna no banco está como Date ou varchar?
Vc pode pesquisar por intervalos:
SELECT * FROM tabela WHERE sua_data BETWEEN '2020-10-01' AND '2020-10-31'
Ou pelo mes diretamente:
SELECT
EXTRACT(MONTH FROM sua_data) AS mes_venda
WHERE mes_venda = 10
FROM tabela
bom…
Fiz pelo método do mês…
public List<Vendas> searchByData(String mes) {
Connection con = ConectionFactory.getConnection();
PreparedStatement stmt = null;
ResultSet rs = null;
List<Vendas> v = new ArrayList<>();
try {
stmt = con.prepareStatement("SELECT * FROM tabela_vendas EXTRACT(MONTH FROM data) AS mes_venda WHERE mes_venda ?");
stmt.setString(1, "%" + mes + "%");
rs = stmt.executeQuery();
while(rs.next()){
Vendas venda = new Vendas();
venda.setCodProduto(rs.getInt("idProd"));
venda.setCodVenda(rs.getInt("idtabela_vendas"));
venda.setDescProduto(rs.getString("descricao"));
venda.setPrecoPago(rs.getDouble("preco"));
venda.setQuantidade(rs.getInt("quantidade"));
venda.setDataVenda(rs.getDate("data"));
v.add(venda);
}
} catch (SQLException ex) {
Logger.getLogger(VendasDao.class.getName()).log(Level.SEVERE, null, ex);
}finally{
ConectionFactory.closeConnection(con, stmt, rs);
}
return v;
}
O erro que está me retornando
java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXTRACT(MONTH FROM data) AS mes_venda WHERE mes_venda '%10%'' at line 1
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1003)
at sistemamercados.dao.VendasDao.searchByData(VendasDao.java:128)
at sistemamercados.view.TelaVendaMes.readJTable(TelaVendaMes.java:40)
Meu método que faz o read da tabela
[code]
public void readJTable(String busca){
DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();
modelo.setNumRows(0);
VendasDao dadao = new VendasDao();
dadao.searchByData(String.valueOf(jComboBox1.getSelectedIndex() + 1)).forEach((d) -> {
modelo.addRow(new Object[]{
d.getCodVenda(),
d.getCodProduto(),
d.getDescProduto(),
d.getQuantidade(),
d.getPrecoPago(),
d.getDataVenda()
});
});
Resolvi kkk.
[code]
stmt = con.prepareStatement("SELECT * FROM tabela_vendas WHERE MONTH(data) = ?");
stmt.setInt(1, mes );
rs = stmt.executeQuery();
Fiz assim
1 curtida