Я стараюсь называть процедуру хранившейся с SQL Developer
в Netbeans
, но всегда у меня появляется ошибка pst.execute();
. Как я могу решать это?
try{
Connection cn;
CallableStatement pst;
int idcomercio = Integer.parseInt(cb_id_comercio.getSelectedItem().toString());
String zona = tf_zona.getText();
float pago = Integer.parseInt(tf_cant_pago.getText());
float caso = cb_tipo_comercio1.getSelectedIndex();
String tipo = cb_tipo_comercio1.getSelectedItem().toString();
float recaudacion = Integer.parseInt(tf_recaudacion.getText());
if (caso == 1) {//'" + idcomercio + "','" + zona + "','" + pago + "','" + tipo + "','" + recaudacion + "') ";
Class.forName("oracle.jdbc.driver.OracleDriver");
String driver = "jdbc:oracle:thin:@localhost:1521:orcl";
cn = DriverManager.getConnection(driver, "system", "Contrasena1");
pst = cn.prepareCall("{call mod_comercios(?,?,?,?,?)}");
pst.setInt(1, idcomercio);
pst.setString(2, zona);
pst.setFloat(3, pago);
pst.setString(4, tipo);
pst.setFloat(5, recaudacion);
pst.registerOutParameter("inOutParam", Types.INTEGER);
pst.execute();
}
} catch(Exception e){
}
Возможная ошибка в тебе cГіdigo - тот, который находится в следующей lГ-nea, ademГЎs одного? недостающий.
pst.registerOutParameter("inOutParam", Types.INTEGER);
AquГ - оставил тебе пример, как нужно называть процедуру хранившейся с parГЎmetros вывода:
CallableStatement call = cn.prepareCall("{CALL mod_comercios(?,?,?,?,?,?)}");
call.setInt(1, idcomercio);
call.setString(2, zona);
call.setFloat(3, pago);
call.setString(4, tipo);
call.setFloat(5, recaudacion);
call.registerOutParameter(6, Types.INTEGER);
call.execute(); // Se manda a llamar al procedimiento almacenado.
int retval = call.getInt(6); //Obtengo el valor del parámetro de salida.