Erro ao passar parâmetro pro banco

1 resposta
J

gente.. tenho um procedure que recebem alguns parâmetros de minha classeDAO.

ela recebe (Date, int, int, int, int, int, int, int)

no meu DAO estou enviando parâmetros assim:
sql = "SELECT * INTO gera_Aula FROM cria_data_aula(?, 2, 3, 9, 9, 9, 9, 9) order by data_aula";
    
       try{
          conexao = DAOfactory.getConexao(DAOfactory.POSTGRES);
          stmt = conexao.prepareStatement(sql);
          String teste = "01/04/2007";
          stmt.setString(1, teste);

          if(stmt.executeUpdate() == 0){
                throw new SQLException("Dados nao inseridos !");
            }         
       }catch( SQLException e){
            throw e;
       }finally{
            DAOfactory.fecharConexao(conexao, stmt, resultado);
       }

o seguinte erro está aparecendo
função cria_data_aula(character varying, integer, integer, integer, integer, integer, integer, integer) não existe

Mas seu eu colocar
sql = "SELECT * INTO gera_Aula FROM cria_data_aula('01/04/2007', 2, 3, 9, 9, 9, 9, 9) order by data_aula";

gera blz.. e no PgAdmin tb gera blz.

A pergutna é : O problema tá no tipo String q eu tou passando pra minha função q espera um DATE ?

Obrigado desde já !

1 Resposta

bcartaxo

Sim kra, o problema está ai. Sua se sua função espéra um Date vc tem q passar um Date não uma String. Lembre-se que existe a classe Date do pacote util, que é utilizada nos seus programas java, e a aclasse Date do pacote sql, que é utilizada para ser passada para o banco de dados.

Criado 2 de junho de 2007
Ultima resposta 3 de jun. de 2007
Respostas 1
Participantes 2