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
}
`
- 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.