Erro ao passar parametros usando o preparedstatement

5 respostas
janjan

esse eh o meu metodo mas dah erro ao chamr o metodo setInt
por que?
alguem saberia me dizer
pelo que me disseram aqui no forum o set int seta no sql o conteudo da variavel codContrato
mas agradeço a ajuda desde jah!
flw

public float calculaCub(int codContrato) {

            float resultado = 0;
        PreparedStatement st1 = null;
        ResultSet rs4 = null;
        try {
            //tamanho contrato
            String s = "select tamanho from contrato where contratoId=" + codContrato + "";
            System.out.println("" + s);

            st1 = Conexao.prepareStatement(s);
            st1.setInt(1, codContrato);
            rs4 = st1.executeQuery(s);
            rs4.next();
            float tamContrato = Float.parseFloat(rs4.getString("tamanho"));
            System.out.println("" + tamContrato);
            resultado = (totcondo(codContrato) / somaC()) * tamContrato;
            System.out.println("return resultado aqui   " + resultado);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {

            try {
                rs4.close();
            } catch (Exception e) {
                rs4 = null;
            }
            try {
                st1.close();
            } catch (Exception e) {
                st1 = null;
            }

        }
        return resultado;
    }

5 Respostas

tubiluki

acho que deveria ser:

String s = "select tamanho from contrato where contratoId = ? ";
janjan

concordo com vc
hehe
erro de amador
flw

janjan

tah mas pera ai
esse erro nao da mais mas quando eu do um st1.executeQuery(sql)
ele dnao passa o parametro certo pra sql
ele dah o seguinte erro

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘?’ at line 1

nao sei por que vlw

bruxel

acho q vc não deve fazer isto,

passar a query como parametro, pq vc ja a fez e ja setou os parametros

vc deve fazer apenas

janjan

vlw
o erro era justamente esse ai
abraços

Criado 15 de dezembro de 2008
Ultima resposta 15 de dez. de 2008
Respostas 5
Participantes 3