Olá estou com um erro sempre que tento fazer a pesquisa no banco
“Parameter index out of range (1 > number of parameters, which is 0)”
como posso resolver isso?
Esse é o metodo de pesquisa
public List<Cliente> getLista(String valor) throws SQLException{
System.out.println(valor);
String sql="SELECT * FROM tabcliente where nome like '%" + valor + "%'";
PreparedStatement stmt = this.conexao.prepareStatement(sql);
stmt.setString(1, valor);
ResultSet rs = stmt.executeQuery(sql);
List<Cliente> retorno = new ArrayList<Cliente>();
while(rs.next()){
Cliente cli = new Cliente();
cli.setIdCliente(Integer.valueOf(rs.getString("idCliente")));
cli.setNome(rs.getString("nome"));
cli.setBairro(rs.getString("bairro"));
cli.setCpf(rs.getString("cpf"));
cli.setEndereço(rs.getString("endereco"));
cli.setIdentidade(rs.getString("identidade"));
cli.setMunicipio(rs.getString("municipio"));
cli.setNumero(rs.getInt("Numero"));
cli.setTelefone(rs.getString("telefone"));
retorno.add(cli);
}
rs.close();
stmt.close();
return retorno;
}
Os demais metodos
private void jBpesquisaActionPerformed(java.awt.event.ActionEvent evt) {
try {
listarCliente();
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Erro na pesquisa." + ex);
}
}
public void listarCliente() throws Exception{
Contatodao dao = new Contatodao();
cli = dao.getLista(jTpesquisa.getText());
mostraPesquisa(cli);
}
public void mostraPesquisa(List <Cliente> cli){
if(cli.size() ==0){
JOptionPane.showMessageDialog(null, "Nenhum valor encontrado.");
}else{
String[] linha =new String[]{null,null,null};
for(int i =0;i<=cli.size();i++){
dtCliente.addRow(linha);
dtCliente.setValueAt(cli.get(i).getIdCliente(), i, 0);
dtCliente.setValueAt(cli.get(i).getNome(), i, 1);
dtCliente.setValueAt(cli.get(i).getTelefone(), i, 2);
}
}
}