Boa noite galera, estou fazendo um sistema de consumo, que contem comanda final, na qual a pessoa insere o código do cliente, e vai traze a lista de gastos dele…só que estou com um problema, pra puxar essa lista estou fazendo um relacionamento com mais de 2 tabelas, até então funciona, o problema é q se insiro um novo cadastro de cliente, e não consumo nada vou nessa tabela de gastos e ele me traz os dados do cliente 1 por exemplo…ou seja, todos os clientes que eu cadastro daqui pra frente mesmo sem consumir nada estão ficando com os valores duplicados, baseado no consumo do primeiro cliente. Será que alguém pode me ajudar, estou completamente perdido
Segue abaixo meu código:
boolean consulta=true;
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "test";
String driver = "com.mysql.jdbc.Driver";
try{ //tratamento de erros
Class.forName(driver);
conn = (Connection) DriverManager.getConnection(url+dbName,"root","");
Statement stmt = (Statement) conn.createStatement();
if ("".equals(jTextField1.getText()))
{
JOptionPane.showMessageDialog(this,"Insira o código para efetuar a pesquisa!");
stmt.close();
}
int id = Integer.parseInt(jTextField1.getText());
ResultSet RS = stmt.executeQuery("SELECT clientes.nome,karts.valor_aluguel,pista.preco,aluguel.preco_barracao FROM clientes INNER JOIN karts,pista,aluguel where clientes.id =' " + id + " ' ");
while (RS.next()){
jTextField2.setText(RS.getString("nome"));
jLabel6.setText(RS.getString("valor_aluguel"));
jLabel11.setText(RS.getString("preco"));
jLabel9.setText(RS.getString("preco_barracao"));
consulta=false;
JOptionPane.showMessageDialog(this,"Dados Encontrados!");
}
if (consulta) JOptionPane.showMessageDialog(this,"Dados Não Encontrados!");
RS.close();
stmt.close();
conn.close(); //fecha conexão com BD
}catch (ClassNotFoundException ex) {
Logger.getLogger(TCadastroCliente.class.getName()).log(Level.SEVERE, null, ex);
}catch(SQLException e){ //trata os erros
}