Pesquisa com JTextField vazio
07/05/2015
0
Como devo tratar minha view nessa situação?
Pensei em mandar todos os campos para a persistência, porém não aceita campo em branco. Como posso fazer?
Fiz o código abaixo, porém quando o usuário deixa qualquer campo em branco, da erro na parte do comando que está em branco, como por exemplo p.setAplicacao(txtAplicacao.getText());
p.setIdProdutos(Integer.valueOf(txtCodigoProduto.getText())); p.setCodigoBarras(Long.valueOf(txtCodigoBarras.getText())); p.setAplicacao(txtAplicacao.getText()); p.setDescricao(txtDescricao.getText()); p.setMedida(txtMedida.getText()); p.setValorVenda(Double.valueOf(fmtValorVenda.getText())); p.setValorCusto(Double.valueOf(fmtValorCusto.getText())); p.setQuantidade(Double.valueOf(txtQuantidade.getText())); dao.select(p); txtCodigoProduto.setText(String.valueOf(p.getIdProdutos())); txtCodigoBarras.setText(String.valueOf(p.getCodigoBarras())); txtAplicacao.setText(p.getAplicacao()); txtDescricao.setText(p.getDescricao()); txtMedida.setText(p.getMedida()); fmtValorVenda.setText(String.valueOf(p.getValorVenda())); fmtValorCusto.setText(String.valueOf(p.getValorCusto()));
DAO
try { ResultSet rs; conecta.conexao(); PreparedStatement pst = conecta.conn .prepareStatement("select * from produtos where idProdutos = %?% or codigoBarras = %?% or descricao = %?% or " + "aplicacao = %?% or medida = %?% or valorVenda = %?% or valorCusto = %?% or quantidade = %?%"); rs = pst.executeQuery(); p.setIdProdutos(rs.getInt("idProdutos")); p.setCodigoBarras(rs.getLong("codigoBarras")); p.setDescricao(rs.getString("descricao")); p.setAplicacao(rs.getString("aplicacao")); p.setMedida(rs.getString("medida")); p.setValorVenda(rs.getDouble("valorVenda")); p.setValorCusto(rs.getDouble("valorCusto")); p.setQuantidade(rs.getDouble("quantidade")); // JOptionPane.showMessageDialog(null, "Salvo com sucesso"); } catch (SQLException e1) { JOptionPane.showMessageDialog(null, "Erro na pesquisa \n Erro " + e1.getMessage()); } }
Ricardo Lima
Post mais votado
08/05/2015
se eu entendi bem, vc tem que fazer uma pesquisa apenas pelo nome do produto certo?
se for isso Use Like.
é uma pesquisa que vai te trazer uma lista?como é? não ficou bem especificado.
att.
Aldair Gomes
Mais Posts
07/05/2015
Ricardo Lima
public class Produtos { //declaração de variaves private int idProdutos; private long codigoBarras; private String descricao; private String aplicacao; private String medida; private String lote; private double valorVenda; private double valorCusto; private double quantidade; //método construtor public Produtos(){ } /*//Método construtor aprimorado public Produtos(int idProdutos,int codigoBarras,String descricao,String aplicacao,String medida,Boolean ativo, String dataValidade, String dataFabricacao,String lote) throws ParseException { SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyy"); this.idProdutos = idProdutos; this.codigoBarras = codigoBarras; this.descricao = descricao; this.aplicacao = aplicacao; this.medida =medida; this.ativo = ativo; this.dataValidade = df.parse(dataValidade); this.dataFabricacao = df.parse(dataFabricacao); this.lote = lote; }*/ // inicio dos getters public int getIdProdutos() { return idProdutos; } public long getCodigoBarras() { return codigoBarras; } public String getDescricao() { return descricao; } public String getAplicacao() { return aplicacao; } public String getMedida() { return medida; } public String getLote() { return lote; } public double getValorVenda(){ return valorVenda; } public double getValorCusto(){ return valorCusto; } public double getQuantidade(){ return quantidade; } // inicio dos setters public void setIdProdutos(int idProdutos) { this.idProdutos = idProdutos; } public void setCodigoBarras(long codigoBarras) { this.codigoBarras = codigoBarras; } public void setDescricao(String descricao) { this.descricao = descricao; } public void setAplicacao(String aplicacao) { this.aplicacao = aplicacao; } public void setMedida(String medida) { this.medida = medida; } public void setLote(String lote) { this.lote = lote; } public void setValorVenda(double valorVenda){ this.valorVenda = valorVenda; } public void setValorCusto(double valorCusto){ this.valorCusto = valorCusto; } public void setQuantidade(double quantidade){ this.quantidade = quantidade; } }
08/05/2015
Ricardo Lima
A minha dúvida encontra-se no momento que essa pesquisa acontece, quando o usuário coloca o numero do produto (código), o sistema da erro informando que tem campo vazio e não pode prosseguir. Clicando no erro, ele direciona para o próximo campo que não estava preenchido. Se escolher pesquisar pela descrição, o erro acontece no código do produto (1º campo da pesquisa)
Poderia me dar um exemplo de pesquisa usando o LIKE???
Obrigado
08/05/2015
Ricardo Lima
Obrigado
08/05/2015
Ricardo Lima
Obrigado
09/05/2015
Ricardo Lima
before start of result set
O que devo estar fazendo de errado?
09/05/2015
Aldair Gomes
mas provavelmente, deve ser a Instancia do ResultSet,
Faça a isntancia od Result set depois de substituir os valores das interrogações.
Clique aqui para fazer login e interagir na Comunidade :)