Duvida simples com armazenamento de datas em banco de dados

estou tentando fazer uma consulta usando PreparedStatement mas nao estou conseguindo

PreparedStatement stmt;
ResultSet rs;

    String sql="Select * from tb_gecol where pesquisa=? and cobranca>=? and cobranca<=?";
    
    try{
        stmt=con.prepareStatement(sql);
        stmt.setString(1, pesquisa);
        stmt.setDate(2,datainicial);//esta dando erro nessas duas linhas
        stmt.setDate(3,datafinal);//o compilador nao consegue encontrar esses dois metodos mas é impossivel pois conferi ate a docu

//mentacao e la estao eles, o q esta havendo??

        rs=stmt.executeQuery(sql);
        razao=rs.getString(3);
         
    }catch (SQLException ex) {
            ex.printStackTrace();
        }

aqui abaixo vou postar a maneira q obtive as datas:
DateFormat df = new SimpleDateFormat(“dd/MM/yyyy”);
inicial=txtinicial.getText();

    try{
             datainicial = df.parse(inicial);                
        }
        catch(ParseException ex) {
         Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
        }

qual sera o problema??

Poste o código completo, dentro de tags code.
Ele nao está encontrando suas variáveis dataInicial, dataFinal.