Nenhum valor especificado para parâmetro 1?

7 respostas
G

Não sei qual é esse parametro 1 que ele tanto fala?

public void seekPeriodSales(Date inicialDate, Date finaldate){
        String sql = "select * from sales where data_changed between ? and ?";
        try {
            PreparedStatement statement = connection.prepareStatement(sql);
            ResultSet rs = statement.executeQuery();

            while(rs.next()) {
               statement.setDate(1, inicialDate);
               statement.setDate(2, finaldate);
                Integer saleId = rs.getInt("id");
                Double saleValor = rs.getDouble("value_sale");
                Date date = rs.getDate("data_changed");
                SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
                JOptionPane.showMessageDialog(null, "SALE ID: " + saleId +
                        "  VALUE: " + saleValor + "  DATE: " + format.format(date));

            }
        } catch (SQLException e) {
            e.printStackTrace();
                JOptionPane.showMessageDialog(null, "cannot share");
        }

    }

7 Respostas

L

Você está abrindo o dataset (rs.next()) antes de passar os parâmetros!

G

agora ele fica assim…

L

Deu a mesma coisa? Dá um clean e um build e tenta de novo. Acho que está certo, olha só:

http://www.mkyong.com/jdbc/jdbc-preparestatement-example-select-list-of-the-records/

G

encontrei o erro, esse codigo sublinhado esta sendo repetido nos 3 metodos que criei, o foda é que eu realmente preciso desse codigo nos 3, oq muda é o tipo de busca deles… sabe oq posso fazer?

L

Você poderia aplicar um template method e tirar essa repetição, mas acho que nesse caso não é erro, é só a IDE tentando te ajudar a melhorar seu código.

G

ah sim, realmente era só a IDE… kkkkkk deu certo agora! muito obrigado ajudou muito :smiley:

L

:+1::+1::+1::+1::+1::+1:

Criado 24 de junho de 2016
Ultima resposta 24 de jun. de 2016
Respostas 7
Participantes 2