Pessoal,
Fiz um programinha aqui e conectei ao Banco de dados, segue abaixo a classe Controle e a Classe DAO:
package Modelo;
import java.sql.*;
import java.util.Vector;
public class DAOCliente
{
private Connection c;
private PreparedStatement PS;
private ResultSet R;
public DAOCliente()
{
try
{
Class.forName("org.postgresql.Driver");
c = DriverManager.getConnection("jdbc:postgresql:bancoVendas", "postgres", "postgres");
PS = null;
R = null;
}
catch(Exception e)
{
}
}
public void consultarTodos()
{
Vector V = new Vector();
try{
PS = c.prepareStatement("SELECT * FROM cliente");
R = PS.executeQuery();
while(R.next())
{
Cliente C = new Cliente();
C.setCodigo(R.getString("Codigo"));
C.setNome(R.getString("Nome"));
C.setEndereco(R.getString("Enderceo"));
C.setTel_cel(R.getString("Tel_Cel"));
V.add(C);
}
}
catch(Exception e)
{
}
}
public void cadastrar (Cliente C)
{
try
{
PS = c.prepareStatement("INSERT INTO cliente VALUES(?,?,?,?)");
PS.setString(1,C.getCodigo());
PS.setString(2,C.getNome());
PS.setString(3,C.getEndereco());
PS.setString(4,C.getTel_cel());
PS.executeUpdate();
//executar SQL
}
catch(Exception e)
{
}
}
public void alterar(Cliente C)
{
try
{
PS = c.prepareStatement("UPDATE cliente SET nome=?,endereco=?,tel_cel=? WHERE codigo=?");
PS.setString(1,C.getNome());
PS.setString(2,C.getEndereco());
PS.setString(3,C.getTel_cel());
PS.setString(4,C.getCodigo());
PS.executeUpdate();
}
catch (Exception e)
{
e.printStackTrace() ;
}
}
public void excluir (Cliente C)
{
try{
PS = c.prepareStatement("DELETE FROM cliente WHERE codigo=?");
PS.setString(1,C.getCodigo());
PS.executeUpdate();
}
catch(Exception e){
}
}
public Cliente consultar (Cliente C)
{
try{
PS = c.prepareStatement("SELECT * FROM cliente WHERE codigo=?");
PS.setString(1,C.getCodigo());
R = PS.executeQuery();
if(R.next())
{
C.setCodigo(R.getString("Codigo"));
C.setNome(R.getString("Nome"));
C.setEndereco(R.getString("Endereco"));
C.setTel_cel(R.getString("Tel_Cel"));
return C;
}
else
return null;
}
catch(Exception e)
{
return null;
}
}
public void finalize()
{
//metodo automatico para fechamento de pendencias.
try
{
PS.close();
c.close();
}
catch(Exception e)
{
}
}
}
--------------------------------------------------------------------------
package Controle;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
import Modelo.*;
import Visual.*;
public class ControleCliente implements ActionListener
{
private JFrame tela;
public ControleCliente(JFrame tela)
{
this.tela = tela;
}
public ControleCliente()
{
}
public void actionPerformed(ActionEvent e)
{
JPanel painel = (JPanel)tela.getContentPane().getComponent(0);
JScrollPane sPainel = (JScrollPane)painel.getComponent(8);
JViewport JV = (JViewport)sPainel.getComponent(0);
JTable tabela = (JTable)JV.getComponent(0);
DefaultTableModel DTM = (DefaultTableModel)tabela.getModel();
Cliente C = new Cliente();
DAOCliente DAO = new DAOCliente();
JTextField codigo = (JTextField)painel.getComponent(1);
JTextField nome = (JTextField)painel.getComponent(3);
JTextField endereco = (JTextField)painel.getComponent(5);
JTextField tel_cel = (JTextField)painel.getComponent(7);
C.setCodigo(codigo.getText());
C.setNome(nome.getText());
C.setEndereco(endereco.getText());
C.setTel_cel(tel_cel.getText());
if(e.getActionCommand().equals("Cadastrar"))
{
DTM.addRow(new String[]{C.getCodigo(),C.getNome(),C.getEndereco(),C.getTel_cel()});
DAO.cadastrar(C);
JOptionPane.showMessageDialog(null,"Cadastrado Confirmado");
codigo.setText("");
nome.setText("");
endereco.setText("");
tel_cel.setText("");
}
if (e.getActionCommand().equals("Alterar"))
{
for(int i=0;i<DTM.getRowCount();i++)
{
if(DTM.getValueAt(i,1).equals(C.getCodigo()))
{
DAO.alterar(C);
DTM.setValueAt(C.getNome(), i,1);
DTM.setValueAt(C.getEndereco(),i,2);
DTM.setValueAt(C.getTel_cel(),i,3);
JOptionPane.showMessageDialog(null, "Alteração Confirmada");
}
else
{
JOptionPane.showMessageDialog(null, "CÓDIGO INEXISTENTE!");
}
}
}
if(e.getActionCommand().equals("Excluir")){
boolean achou=false; int pos=0;
DAO.excluir(C);
for(int i=0;i<DTM.getRowCount();i++)
{
if(DTM.getValueAt(0,i).equals(C.getCodigo()))
{
pos=i;
achou=true;
}
if(achou)
{
DTM.removeRow(pos);
break;
}
}
JOptionPane.showMessageDialog(null,"Cadastro Excluído");
codigo.setText("");
nome.setText("");
endereco.setText("");
tel_cel.setText("");
}
if(e.getActionCommand().equals("Consultar"))
{
C=DAO.consultar(C);
if(C == null)
{
JOptionPane.showMessageDialog(null,"Cadastro Inexistente");
}
else
{
codigo.setText(C.getCodigo());
nome.setText(C.getNome());
endereco.setText(C.getEndereco());
tel_cel.setText(C.getTel_cel());
JOptionPane.showMessageDialog(null,"Consulta efetuada com sucesso");
//DTM.addRow(new String[]{C.getCodigo(),C.getNome(),C.getEndereco(),C.getTel_cel()});
}
}
if(e.getActionCommand().equals("Sair"))
{
tela.dispose();
}
}
}
--------------------------------------------------------------------------
Minha dúvida é: Como posso inicializar o método “consultarTodos()” da classe DAOCliente na classe ControleCliente.
O objetivo é que eu consiga listar todos os itens do banco de dados na tabela.
Obrigado.>