Galera, boa noite.
Este é meu primeiro post no fórum, então vamos lá.
To desenvolvendo um simples aplicativo pra estoque de uma loja de confecções, e me deparei com um probleminha.
Num jDialog, tenho 2 opções de pesquisa, por REFERÊNCIA e por PRODUTO.
pois ai vai meu código:
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con;
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/lojacentury", "root", "eduardo");
String pd = "%" + txtProd.getText() + "%";
String rf = txtRef.getText();
String query = "select * from produtos where ref = ? OR produto like ?";
PreparedStatement stmt = con.prepareStatement(query);
stmt.setString(1, rf);
stmt.setString(2, pd);
ResultSet rs;
rs = stmt.executeQuery();
DefaultTableModel tb = (DefaultTableModel) tbLista.getModel();
tb.setNumRows(0);
while (rs.next()) {
tb.addRow(new Object[]{rs.getString("ref"),
rs.getString("produto"),
rs.getString("descricao"),
rs.getString("pc_compra"),
rs.getString("pc_venda")
});
}
} catch (ClassNotFoundException ex) {
System.out.println("Classe não Encontrada.");
} catch (SQLException e) {
System.out.println("Erro de SQL.");
}
}
O problema é que, ao pesquisar pela referência, ele me retorna todas os registros.
Acredito que isso esteja acontecendo porque o meu while ta considerando o conteúdo vazio do campo produto.
Alguém poderia me dar alguma solução?