Olá a todos!
Toda a vez que aperto o botão de pesquisa para consulta, o NetBeans me manda a seguinte mensagem de erro:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at Conexao.Conexao.consultaDados(Conexao.java:48)
at DAO.ClientesDAO.listarClientesIII(ClientesDAO.java:104)
at Telas.ConsultaCliente.PesquisarActionPerformed(ConsultaCliente.java:233)
at Telas.ConsultaCliente.access$400(ConsultaCliente.java:24)
at Telas.ConsultaCliente$5.actionPerformed(ConsultaCliente.java:137)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
[code]package Telas;
import DAO.ClientesDAO;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
/*
- ConsultaCliente.java
- Created on 18 de Maio de 2009, 23:12
*/
import javax.swing.text.MaskFormatter;
/**
*
-
@author LordTiago
/
public class ConsultaCliente extends javax.swing.JFrame {
MaskFormatter mascara;
MaskFormatter mascara2;
/* Creates new form ConsultaCliente */
public ConsultaCliente() {
super (“Pesquisa de Clientes”);
initComponents();
setBounds(10,10,400,240);
setResizable(false);
setVisible(true);
setLocationRelativeTo(null);
ImageIcon icone = new ImageIcon (“icone.GIF”);
setIconImage (icone.getImage());
}/** 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() {buttonGroup1 = new javax.swing.ButtonGroup();
Corpo = new javax.swing.JPanel();
btNome = new javax.swing.JRadioButton();
btTel = new javax.swing.JRadioButton();
btCPF = new javax.swing.JRadioButton();
tfCliente = new javax.swing.JTextField();
try{
mascara = new MaskFormatter ("###.###.###-##");
mascara.setPlaceholderCharacter (’’);
}
catch(ParseException excp){
//caso alguma exceção ocorra
}
ftfCPF = ftfCPF = new javax.swing.JFormattedTextField(mascara);
try{
mascara2 = new MaskFormatter ("(0##)####-####");
mascara2.setPlaceholderCharacter (’’);
}
catch(ParseException excp){
//caso alguma exceção ocorra
}
ftfTel = ftfTel = new javax.swing.JFormattedTextField(mascara2);
Pesquisar = new javax.swing.JButton();
ImagemFundo = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(null);Corpo.setOpaque(false);
btNome.setBackground(new java.awt.Color(0, 102, 51));
buttonGroup1.add(btNome);
btNome.setFont(new java.awt.Font(“Tahoma”, 1, 11));
btNome.setText(“Nome do Cliente:”);
btNome.setBorder(null);
btNome.setMargin(new java.awt.Insets(0, 0, 0, 0));
btNome.setOpaque(false);
btNome.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
btNomeMouseClicked(evt);
}
});buttonGroup1.add(btTel);
btTel.setFont(new java.awt.Font(“Tahoma”, 1, 11));
btTel.setText(“Telefone:”);
btTel.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
btTel.setMargin(new java.awt.Insets(0, 0, 0, 0));
btTel.setOpaque(false);
btTel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
btTelMouseClicked(evt);
}
});buttonGroup1.add(btCPF);
btCPF.setFont(new java.awt.Font(“Tahoma”, 1, 11));
btCPF.setText(“CPF:”);
btCPF.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
btCPF.setMargin(new java.awt.Insets(0, 0, 0, 0));
btCPF.setOpaque(false);
btCPF.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
btCPFMouseClicked(evt);
}
});tfCliente.setEditable(false);
tfCliente.setToolTipText(“digite o nome para pesquisa”);
tfCliente.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
tfClienteKeyReleased(evt);
}
});ftfCPF.setEditable(false);
ftfCPF.setToolTipText(“digite o cpf do cliente”);ftfTel.setEditable(false);
ftfTel.setToolTipText(“digite o telefone que deseja pesquisar”);Pesquisar.setFont(new java.awt.Font(“Tahoma”, 1, 11)); // NOI18N
Pesquisar.setForeground(new java.awt.Color(51, 51, 51));
Pesquisar.setText(“Pesquisar”);
Pesquisar.setToolTipText(“clique aqui para concluir sua pesquisa”);
Pesquisar.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED, new java.awt.Color(0, 153, 153), new java.awt.Color(0, 153, 153)));
Pesquisar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
PesquisarActionPerformed(evt);
}
});javax.swing.GroupLayout CorpoLayout = new javax.swing.GroupLayout(Corpo);
Corpo.setLayout(CorpoLayout);
CorpoLayout.setHorizontalGroup(
CorpoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, CorpoLayout.createSequentialGroup()
.addGroup(CorpoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(CorpoLayout.createSequentialGroup()
.addContainerGap()
.addComponent(Pesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(CorpoLayout.createSequentialGroup()
.addGap(29, 29, 29)
.addGroup(CorpoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(CorpoLayout.createSequentialGroup()
.addComponent(btNome)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfCliente, javax.swing.GroupLayout.DEFAULT_SIZE, 185, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, CorpoLayout.createSequentialGroup()
.addGroup(CorpoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(btCPF)
.addComponent(btTel))
.addGap(136, 136, 136)
.addGroup(CorpoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(ftfTel)
.addComponent(ftfCPF, javax.swing.GroupLayout.DEFAULT_SIZE, 97, Short.MAX_VALUE))))))
.addGap(29, 29, 29))
);
CorpoLayout.setVerticalGroup(
CorpoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(CorpoLayout.createSequentialGroup()
.addGap(22, 22, 22)
.addGroup(CorpoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btNome)
.addComponent(tfCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(CorpoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btTel)
.addComponent(ftfTel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(CorpoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btCPF)
.addComponent(ftfCPF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(Pesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);getContentPane().add(Corpo);
Corpo.setBounds(20, 50, 360, 130);ImagemFundo.setBackground(new java.awt.Color(51, 153, 0));
ImagemFundo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Telas/fundo3D.jpg"))); // NOI18N
getContentPane().add(ImagemFundo);
ImagemFundo.setBounds(10, 50, 390, 150);jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Telas/ConsultaCliente.jpg"))); // NOI18N
jLabel1.setText(“jLabel1”);
getContentPane().add(jLabel1);
jLabel1.setBounds(20, 10, 350, 27);pack();
}//
-
private void tfClienteKeyReleased(java.awt.event.KeyEvent evt) {
// TODO adicione seu código de manipulação aqui:
String a = tfCliente.getText();
a=a.toUpperCase();
tfCliente.setText(a);
}
private void PesquisarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO adicione seu código de manipulação aqui:
if(evt.getSource()==Pesquisar){
if(tfCliente.isEditable()){
ClientesDAO pesquisa1 = new ClientesDAO();
try {
pesquisa1.listarClientesII(tfCliente.getText());
} catch (SQLException ex) {
Logger.getLogger(ConsultaCliente.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(ftfTel.isEditable()){
ClientesDAO pesquisa2 = new ClientesDAO();
try {
pesquisa2.listarClientes(ftfTel.getText());
} catch (SQLException ex) {
Logger.getLogger(ConsultaCliente.class.getName()).log(Level.SEVERE, null, ex);
}
}
if(ftfCPF.isEditable()){
ClientesDAO pesquisa3 = new ClientesDAO();
try {
pesquisa3.listarClientesIII(ftfCPF.getText());
} catch (SQLException ex) {
Logger.getLogger(ConsultaCliente.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
private void btNomeMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
tfCliente.setEditable(true);
ftfTel.setEditable(false);
ftfCPF.setEditable(false);
}
private void btTelMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
tfCliente.setEditable(false);
ftfTel.setEditable(true);
ftfCPF.setEditable(false);
}
private void btCPFMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
tfCliente.setEditable(false);
ftfTel.setEditable(false);
ftfCPF.setEditable(true);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ConsultaCliente().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JPanel Corpo;
private javax.swing.JLabel ImagemFundo;
private javax.swing.JButton Pesquisar;
private javax.swing.JRadioButton btCPF;
private javax.swing.JRadioButton btNome;
private javax.swing.JRadioButton btTel;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JFormattedTextField ftfCPF;
private javax.swing.JFormattedTextField ftfTel;
private javax.swing.JLabel jLabel1;
private javax.swing.JTextField tfCliente;
// End of variables declaration
}[/code]
[code]package Conexao;
import java.sql.*;
public class Conexao {
private Connection conn;
private boolean connected = false;
private String DRIVER = “com.mysql.jdbc.Driver”;
private String URL_STRING = “jdbc:mysql://localhost:3306/monteCook”;
private String USER = “root”;
private String PASSWD = “1234”;
public void conectar() {
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/monteCook”,“root”,“1234”);
System.out.println(“Conectado com sucesso”);
}
catch (ClassNotFoundException ex) {
System.out.println(“Driver JDBC Não encontrado”);
} catch (SQLException ex1) {
System.out.println(“Falha durante o processo de conexao” + ex1);
}
}
public static void main (String args []) throws SQLException{
Conexao a = new Conexao();
a.conectar();
}
public void incluirDados(String sql) {
try {
Statement stmt = conn.createStatement(); //Obrigatório para inclusão e consulta
stmt.executeUpdate(sql); // efetiva a inserção no BD
}
catch (SQLException ex) {
System.out.println("Falha ao inserir registro.\n" + ex);
}
}
public ResultSet consultaDados(String sql) throws SQLException{
try {
ResultSet result;
Statement stmt = conn.createStatement(); //Obrigatório para inclusão e consulta
result = stmt.executeQuery(sql);// efetiva a consulta no BD
return result;
}
catch (SQLException ex) {
System.out.println("Falha ao pesquisar registro.\n" + ex);
}
return null;
}
}[/code]
[code]package Entidades;
public class Clientes{
short IdCliente;
String Cliente;
String rua;
String bairro;
String referencia;
String CPF;
String telefone;
String celular;
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
public String getReferencia() {
return referencia;
}
public void setReferencia(String referencia) {
this.referencia = referencia;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getCPF() {
return CPF;
}
public void setCPF(String CPF) {
this.CPF = CPF;
}
public String getCliente() {
return Cliente;
}
public void setCliente(String Cliente) {
this.Cliente = Cliente;
}
public int getIdCliente() {
return IdCliente;
}
public void setIdCliente(short IdCliente) {
this.IdCliente = IdCliente;
}
}[/code]
[code]package DAO;
import Conexao.Conexao;
import Entidades.Clientes;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
public class ClientesDAO{
private int idCliente;
public void cadastraCliente(String nome, String CPF, String Rua, String Bairro, String Referencia) throws SQLException{
Conexao con = new Conexao();
con.conectar();
setIdCliente();
idCliente=idCliente+1;
String sql = "INSERT INTO clientes (idCliente, Nome, CPF, Rua, Bairro, Referencia)VALUES(" +
"'"+idCliente+"','"+nome+"','"+CPF+"','"+Rua+"','"+Bairro+"','"+Referencia+"')";
con.incluirDados(sql);
}
public int getIdCliente() {
return idCliente;
}
public void setIdCliente () throws SQLException{
int result=0;
Conexao con = new Conexao();
con.conectar();
String sql = "select count(*) from clientes";
ResultSet rsContador = con.consultaDados(sql);
rsContador.next();
result = rsContador.getInt(1);
idCliente=result;
}
public ArrayList<Clientes> listarClientes(String telefone) throws SQLException{
Conexao con = new Conexao();
String sql = "select @tel:=telefones.telefone as tel, @id:=clientes.idCliente as id, @cel:=(select telefone from telefones where idCliente in(@id) and telefone!=@tel)as telII, clientes.nome, clientes.rua, clientes.bairro, clientes.referencia, clientes.CPF from clientes join telefones on (clientes.idCliente=telefones.idCliente) where telefones.telefone='"+telefone+"' order by telefones.telefone;";
ResultSet rsCliente = con.consultaDados(sql);
ArrayList<Clientes> listaCliente = new ArrayList<Clientes>();
try {
while (rsCliente.next()) {
Clientes cliente = new Clientes();
cliente.setTelefone(rsCliente.getString("@tel"));
cliente.setIdCliente(rsCliente.getShort("@id"));
cliente.setIdCliente(rsCliente.getShort("@cel"));
cliente.setCliente(rsCliente.getString("clientes.nome"));
cliente.setCliente(rsCliente.getString("clientes.rua"));
cliente.setCliente(rsCliente.getString("clientes.bairro"));
cliente.setCliente(rsCliente.getString("clientes.referencia"));
cliente.setCliente(rsCliente.getString("clientes.CPF"));
listaCliente.add(cliente);
}
} catch (SQLException ex) {
Logger.getLogger(ClientesDAO.class.getName()).log(Level.SEVERE, null, ex);
System.out.print("deu pau!!!");
}
return listaCliente;
}
public ArrayList<Clientes> listarClientesII(String nome) throws SQLException{
Conexao con = new Conexao();
String sql = "select @tel:=telefones.telefone as tel, @id:=clientes.idCliente as id, @cel:=(select telefone from telefones where idCliente in(@id) and telefone!=@tel)as telII, clientes.nome, clientes.rua, clientes.bairro, clientes.referencia, clientes.CPF from clientes join telefones on (clientes.idCliente=telefones.idCliente) where clintes.nome like'%"+nome+"%' GROUP BY clientes.nome order by telefones.telefone;";
ArrayList<Clientes> listaCliente = new ArrayList<Clientes>();
ResultSet rsCliente = con.consultaDados(sql);
try {
while (rsCliente.next()) {
Clientes cliente = new Clientes();
cliente.setTelefone(rsCliente.getString("@tel"));
cliente.setIdCliente(rsCliente.getShort("@id"));
cliente.setIdCliente(rsCliente.getShort("@cel"));
cliente.setCliente(rsCliente.getString("clientes.nome"));
cliente.setCliente(rsCliente.getString("clientes.rua"));
cliente.setCliente(rsCliente.getString("clientes.bairro"));
cliente.setCliente(rsCliente.getString("clientes.referencia"));
cliente.setCliente(rsCliente.getString("clientes.CPF"));
listaCliente.add(cliente);
}
} catch (SQLException ex) {
Logger.getLogger(ClientesDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return listaCliente;
}
public ArrayList<Clientes> listarClientesIII(String CPF) throws SQLException{
Conexao con = new Conexao();
String sql = "select @tel:=telefones.telefone as tel, @id:=clientes.idCliente as id, @cel:=(select telefone from telefones where idCliente in(@id) and telefone!=@tel)as telII, clientes.nome, clientes.rua, clientes.bairro, clientes.referencia, clientes.CPF from clientes join telefones on (clientes.idCliente=telefones.idCliente) where clintes.CPF='"+CPF+"' GROUP BY clientes.nome order by telefones.telefone;";
ResultSet rsCliente = con.consultaDados(sql);
ArrayList<Clientes> listaCliente = new ArrayList<Clientes>();
try {
while (rsCliente.next()) {
Clientes cliente = new Clientes();
cliente.setTelefone(rsCliente.getString("@tel"));
cliente.setIdCliente(rsCliente.getShort("@id"));
cliente.setIdCliente(rsCliente.getShort("@cel"));
cliente.setCliente(rsCliente.getString("clientes.nome"));
cliente.setCliente(rsCliente.getString("clientes.rua"));
cliente.setCliente(rsCliente.getString("clientes.bairro"));
cliente.setCliente(rsCliente.getString("clientes.referencia"));
cliente.setCliente(rsCliente.getString("clientes.CPF"));
listaCliente.add(cliente);
}
} catch (SQLException ex) {
Logger.getLogger(ClientesDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return listaCliente;
}
public static void main (String args []){
ClientesDAO a = new ClientesDAO();
try {
a.cadastraCliente(“oi”, “363.696.138-19”, “Rua 8”, “Centro”, “casa próximo ao bar vermelho”);
} catch (SQLException ex) {
Logger.getLogger(ClientesDAO.class.getName()).log(Level.SEVERE, null, ex);
}
}
}[/code]
Se alguém já viu este erro, ou consegue enxergar o que há de errado, me deem um toque.
Desde já muito obrigado