Pessoal estou precisando um auxilio tenho uma classe DAO e necessito fazer uma pesquisa para listar no grid um filtro.Estou utilizando JAVA no back end e o Flex como front-end.
Segue as minhas classes
package br.com.servicos;
public class Cliente {
private int codigo;
private String nome;
private String cpf;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
}
package br.com.servicos;
import java.awt.Image;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class ClienteDAO {
public boolean insert (Cliente cliente) {
try {
String sql ="Insert into cliente(codigo,nome,cpf) values (?,?,?)";
Connection con = ConnectionFcatory.getConnection();
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setLong(1,cliente.getCodigo());
stmt.setString(2,cliente.getNome());
stmt.setString(3,cliente.getCpf());
stmt.execute();
stmt.close();
con.commit();
return true;
}catch (SQLException erro) {
JOptionPane.showMessageDialog(null,"Erro no banco de dados "+erro);
return false;
}
}
public boolean deleta (Cliente cliente) {
try{
String sql="Delete from cliente where codigo=?";
Connection con = ConnectionFcatory.getConnection();
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setInt(1,cliente.getCodigo());
stmt.execute();
stmt.close();
con.commit();
return true;
}catch (SQLException erro) {
JOptionPane.showMessageDialog(null,"Erro no banco de dados "+erro);
return false;
}
}
public List pesquisar() {
List clientes = new ArrayList();
try{
String sql="Select * from cliente where codigo=?";
Connection con = ConnectionFcatory.getConnection();
PreparedStatement stmt = con.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
while (rs.next()){
Cliente obj = new Cliente();
obj.setCodigo(rs.getInt("codigo"));
clientes.add(obj);
}
stmt.close();
rs.close();
con.commit();
}catch (SQLException erro) {
JOptionPane.showMessageDialog(null,"Erro no banco de dados "+erro);
}
return clientes;
}
public List listar() {
List clientes = new ArrayList();
try{
String sql="Select * from cliente";
Connection con = ConnectionFcatory.getConnection();
PreparedStatement stmt = con.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
while (rs.next()){
Cliente obj = new Cliente();
obj.setCodigo(rs.getInt("codigo"));
obj.setNome(rs.getString("nome"));
obj.setCpf(rs.getString("cpf"));
clientes.add(obj);
}
stmt.close();
rs.close();
con.commit();
}catch (SQLException erro) {
JOptionPane.showMessageDialog(null,"Erro no banco de dados "+erro);
}
return clientes;
}
public boolean update (Cliente cliente){
try{
String sql="update cliente set nome=?,cpf=? where codigo=? ";
Connection con = ConnectionFcatory.getConnection();
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1,cliente.getNome());
stmt.setString(2, cliente.getCpf());
stmt.setInt(3,cliente.getCodigo());
stmt.execute();
stmt.close();
con.commit();
return true;
}catch (SQLException erro) {
JOptionPane.showMessageDialog(null,"Não foi possivel alterar o registro"+erro);
return false;
}
}
}
Utilizei o procedimento pesquisa mais o java retornou um erro
Erro no banco de dados postgresql :Nenhum valor especificado para parametro 1