• Post Reply Bookmark Topic Watch Topic
  • New Topic

stored procedure not working when called from netbeans  RSS feed

 
jorge alpizar
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • 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 = "jdbcracle: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");}


}

 
Stephan van Hulst
Saloon Keeper
Posts: 7969
143
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Okay.

HowToAskQuestionsOnJavaRanch.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!