Eu estou tentando fazer um sistema simples, que é só para cadastrar as despesas de uma construção, que tem somente cadastro de fornecedor, e material, os cadastros estão funcionando normalmente, mas quando vou na pagina de relatório, que é uma tabela que pega dados de duas tabelas do meu banco de dados, aparece que o material foi cadastrado em todos os fornecedores, só ocorre isso na tabela, no banco de dado o material é cadastrado corretamente, ligando o material com apenas um fornecedor, alguém poderia ajudar ?
`/*
- To change this license header, choose License Headers in Project Properties.
- To change this template file, choose Tools | Templates
- and open the template in the editor.
*/
package br.com.PjContrucao.telas;
import br.com.PjContrucao.dal.ModuloDeConexao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import net.proteanit.sql.DbUtils;
/**
*
-
@author CesarAugusto
*/
public class TelaRelatorio extends javax.swing.JInternalFrame {Connection conexao = null; PreparedStatement pst = null; ResultSet rs = null;
/**
- Creates new form TelaRelatorio
*/
public TelaRelatorio() {
initComponents();
conexao = ModuloDeConexao.conector();
Update_Table();
totalSaldo();
SaldoGasto();
}
private void totalSaldo() { String sql = “select sum(saldosal) as TotalSaldo from tbaddsaldo”; try { pst = conexao.prepareStatement(sql); rs = pst.executeQuery(); if (rs.next()) { lblTotalSaldo.setText(Double.toString(rs.getDouble(“TotalSaldo”)));
} } catch (Exception e) { JOptionPane.showMessageDialog(null, e); }
}
private void SaldoGasto() { String sql = “select sum(valormat) as SaldoGasto from tbmaterial”; try { pst = conexao.prepareStatement(sql); rs = pst.executeQuery(); if (rs.next()) { lblSaldoGasto.setText(Double.toString(rs.getDouble(“SaldoGasto”)));
} } catch (Exception e) { JOptionPane.showMessageDialog(null, e); }
}
private void Update_Table() { try { String sql = “select F.idfor,nomefor,\n” + “M.nomemat,quantidademat,valormat\n” + “from tbfornecedor as F\n” + “inner join tbmaterial as M;”; pst = conexao.prepareStatement(sql); rs = pst.executeQuery(); tblRelatorio.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) { JOptionPane.showMessageDialog(null, e); }
}
/**
-
This method is called from within the constructor to initialize the form.
-
WARNING: Do NOT modify this code. The content of this method is always
-
regenerated by the Form Editor. */ @SuppressWarnings(“unchecked”) // private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane(); tblRelatorio = new javax.swing.JTable(); jLabel1 = new javax.swing.JLabel(); lblSaldo = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); lblTotalSaldo = new javax.swing.JLabel(); lblSaldoGasto = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel();
setClosable(true); setIconifiable(true); setMaximizable(true); setPreferredSize(new java.awt.Dimension(607, 465));
tblRelatorio.setModel(new javax.swing.table.DefaultTableModel(
new Object[][] {}, new String [] { "ID", "Título 2" }
)); tblRelatorio.getTableHeader().setReorderingAllowed(false); jScrollPane1.setViewportView(tblRelatorio);
jLabel1.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N
jLabel1.setText(“Saldo Disponivel:”);lblSaldo.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N
lblSaldo.setText("Saldo Total: ");jLabel2.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N
jLabel2.setText(“Saldo Gasto:”);lblTotalSaldo.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N lblTotalSaldo.setForeground(new java.awt.Color(0, 0, 153)); lblTotalSaldo.setText(“Total Saldo”);
lblSaldoGasto.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N lblSaldoGasto.setForeground(new java.awt.Color(255, 0, 0)); lblSaldoGasto.setText(“Saldo Gasto”);
jLabel3.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N jLabel3.setForeground(new java.awt.Color(0, 0, 153)); jLabel3.setText(“Saldo Disponivel”);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(24, 24, 24) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(lblSaldo) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(lblTotalSaldo) .addGap(62, 62, 62) .addComponent(jLabel2) .addGap(18, 18, 18) .addComponent(lblSaldoGasto)) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 526, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(layout.createSequentialGroup() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel3))) .addContainerGap(41, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(22, 22, 22) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 261, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblSaldo) .addComponent(jLabel2) .addComponent(lblTotalSaldo) .addComponent(lblSaldoGasto)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 37, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jLabel3)) .addGap(53, 53, 53)) );
setBounds(0, 0, 607, 465);
}//
// Variables declaration - do not modify private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JLabel lblSaldo; private javax.swing.JLabel lblSaldoGasto; private javax.swing.JLabel lblTotalSaldo; private javax.swing.JTable tblRelatorio; // End of variables declaration } ` <div class="lightbox-wrapper"><a class="lightbox" href="/uploads/3X/5/6/56788b455f8b051d29e1d4fbb000c742c8e47ef9.png.webp" data-download-href="/uploads/default/56788b455f8b051d29e1d4fbb000c742c8e47ef9" title="Tela.png"><img src="/uploads/3X/5/6/56788b455f8b051d29e1d4fbb000c742c8e47ef9.png.webp" width="690" height="462" data-small-upload="/uploads/3X/5/6/56788b455f8b051d29e1d4fbb000c742c8e47ef9.png.webp"><div class="meta"> <svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use xlink:href="#far-image"></use></svg>Tela.png785×526 24.3 KB<svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use xlink:href="#discourse-expand"></use></svg> </div></a></div>
- Creates new form TelaRelatorio
E se alguém souber, eu baixei o rs2xml.jar, para passar os dados do banco, para a jtable, e agora não sei alterar os nomes na coluna, agradeço desde ja.