Fórum Pesquisa com JTextField vazio #519180
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
Curtir tópico
+ 0Post 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
Gostei + 1
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;
}
}
Gostei + 0
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
Gostei + 0
08/05/2015
Ricardo Lima
Obrigado
Gostei + 0
08/05/2015
Ricardo Lima
Obrigado
Gostei + 0
08/05/2015
Aldair Gomes
Gostei + 0
09/05/2015
Ricardo Lima
before start of result set
O que devo estar fazendo de errado?
Gostei + 0
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.
Gostei + 0
09/05/2015
Ricardo Lima
Gostei + 0
09/05/2015
Aldair Gomes
abraço.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)