• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

stored procedure not working when called from netbeans

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
store procedure :

create or replace
PROCEDURE GUARDAR_PERIODO_LECTIVO
(
PN_SECUENCIA_PERIODO IN number
, PN_DESCRIPCION IN VARCHAR2
, PN_AÑO_LECTIVO in NUMBER
, PN_OBSERVACIONES IN VARCHAR2
)
IS

-- NIVEL DE ROL : (A) = INSERTAR,ACTUALIZAR,CONSULTAR Y BORRAR
PN_SIGUIENTE_ID NUMBER(5):=0;
PN_SIGUIENTE_ID2 NUMBER(5):=0;
PN_ID_FINAL NUMBER(5):=0;
PN_NOMBRE_TABLA VARCHAR2(20):=NULL;

CURSOR C_SIG_ID IS
SELECT MAX(SECUENCIA_PERIODO)+1 FROM PERIODO_LECTIVO;
-- Cursor para confirmar la existencia de un CARRO en particular
CURSOR C_SECUENCIA_PERIODO_EXISTE (PN_SECUENCIA_PERIODO IN NUMBER)IS
SELECT SECUENCIA_PERIODO
FROM PERIODO_LECTIVO
WHERE SECUENCIA_PERIODO = PN_SECUENCIA_PERIODO;

BEGIN
-- Abrimos el Cursor para obtener el Siguiente ID posible...
OPEN C_SIG_ID;
FETCH C_SIG_ID INTO PN_SIGUIENTE_ID;
CLOSE C_SIG_ID;
PN_ID_FINAL := PN_SIGUIENTE_ID;
-- Abrimos el Cursor para confirmar que EL CARRO no existe...
PN_NOMBRE_TABLA := 'PERIODO_LECTIVO';
OPEN C_SECUENCIA_PERIODO_EXISTE(PN_SECUENCIA_PERIODO);
FETCH C_SECUENCIA_PERIODO_EXISTE INTO PN_SIGUIENTE_ID2;
IF
C_SECUENCIA_PERIODO_EXISTE%NOTFOUND THEN

-- INSERTAMOS DATOS DEL CARRO


insert into PERIODO_LECTIVO (secuencia_periodo,
DESCRIPCION,
AÑO_LECTIVO,
OBSERVACIONES
)
VALUES (pn_secuencia_periodo,
pn_descripcion,
pn_año_lectivo,
pn_observaciones

);

else
PN_ID_FINAL := PN_SIGUIENTE_ID2;
DBMS_OUTPUT.PUT_LINE('Error al Insertar en la tabla '||PN_NOMBRE_TABLA||' porque el registro ya existe');
END IF;
CLOSE C_SECUENCIA_PERIODO_EXISTE;

Return;

END GUARDAR_PERIODO_LECTIVO;

---------------------------------------



java code :

package Interface;

import javax.swing.JOptionPane;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;

/**
*
* @author Jorge Mario
*/
public class PeriodoLectivo extends javax.swing.JFrame {
Connection con;
ResultSet r;
CallableStatement st;
PreparedStatement pstBuscarSecuenciaPeriodo;
PreparedStatement pstGuardarPeriodoLectivo;
/**
* Creates new form PeriodoLectivo
*/
public PeriodoLectivo() {
initComponents();
try {
Class.forName("oracle.jdbc.OracleDriver");
String BaseDeDatos = "jdbc:oracle:thin:@localhost:1521:XE";

con = DriverManager.getConnection(BaseDeDatos, "PROGRAFOURPROYECT", "alpizarjorge");


String sqlBusqueda = "SELECT SECUENCIA_PERIODO FROM PERIODO_LECTIVO WHERE secuencia=?";
pstBuscarSecuenciaPeriodo = con.prepareStatement(sqlBusqueda);

String sqlPeriodoNuevo = "INSERT INTO PERIODO_LECTIVO VALUES (?,?,?,?)";
pstGuardarPeriodoLectivo = con.prepareStatement(sqlPeriodoNuevo);



if (con != null) {
JOptionPane.showMessageDialog(null,"conectado");
} else {
JOptionPane.showMessageDialog(null,"Error al conectar");
}
} catch (Exception e) {
e.printStackTrace();
}
return;

}

public void guardar()
{

int Secuencia_Periodo=Integer.parseInt(this.txtSecuencia.getText());
int AñoLectivo=Integer.parseInt(this.txtAñoLectivo.getText());
String Descripcion=this.txtDescripcion.getText();
String Observaciones=this.txtObservaciones.getText();



try{
st=con.prepareCall("{call GUARDAR_PERIODO_LECTIVO(?,?,?,?)}");
st.setInt(1,Secuencia_Periodo);
st.setInt(2, AñoLectivo);
st.setString(3,Descripcion);
st.setString(4,Observaciones);
int rta=st.executeUpdate();
if(rta==1)
{
JOptionPane.showMessageDialog(null, "Datos guardados correctamente");
}
}catch(Exception ex){
JOptionPane.showMessageDialog(null, "NO se guardo correamente");}


}

 
Saloon Keeper
Posts: 15510
363
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Okay.

HowToAskQuestionsOnJavaRanch.
 
Think of how stupid the average person is. And how half of them are stupider than that. But who reads this tiny ad?
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic