Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/12/2011, 22:50
VivaElPirateo
 
Fecha de Ingreso: septiembre-2011
Mensajes: 40
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Drama con aplicación de escritorio

Buenas noches comunidad:


Tengo una aplicación de escritorio de Netbeans que trabaja con Oracle 10g.

El problema es el siguiente:

Intento borrar un registro a través de un procedimiento almacenado, y la cosa no me funciona, pero tampoco me tira error.

Intento borar un registro a través de un combobox, el cual selecciono el ítem y luego apreto el botón de borrar y nada.

Acá está la configuración del combobox:


private void cboEliminarTipoProyectoPopupMenuWillBecomeVisible( javax.swing.event.PopupMenuEvent evt) {


String driver = "oracle.jdbc.driver.OracleDriver";
String dsn = "jdbc:oracle:thin:@localhost:1521:XE";
String sql = "select id_tipo_proyecto from tipo_proyecto Order By 1 Asc";

String usuario = "tallerbd";
String password = "oracle";


try {

Class.forName(driver);
Connection con = DriverManager.getConnection(dsn, usuario, password);
java.sql.Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIV E, ResultSet.CONCUR_READ_ONLY);

// PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = stmt.executeQuery (sql);

cboEliminarTipoProyecto.removeAllItems();

while (rs.next()==true) {


cboEliminarTipoProyecto.addItem (rs.getObject(1));
}


rs.close();
} catch (SQLException ex) {
Logger.getLogger(Constructora.class.getName()).log (Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Constructora.class.getName()).log (Level.SEVERE, null, ex);

}
}



La clase que llama al procedimiento almacenado es esta:



package procedimiento.almacenado;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class SP_Elimina_Tipo_Proyecto extends negocio.TipoProyecto{

private Connection Conexion;
private CallableStatement cstmt = null ;

public SP_Elimina_Tipo_Proyecto()
{
super();
Conexion = null;
}

public SP_Elimina_Tipo_Proyecto(Connection Con, String id_tipo_proyecto,
String nombre_tipo_proyecto)
{
super(id_tipo_proyecto, nombre_tipo_proyecto);

Conexion = Con;
}

public void Elimina() throws ClassNotFoundException, SQLException
{

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con=DriverManager.getConnection("jdbc:oracle:thin: @localhost:1521:XE", "tallerbd", "oracle");

CallableStatement cstmt = con.prepareCall("{call SP_EliminarTipoProyecto(?)}");

cstmt.setString(1,id_tipo_proyecto);

cstmt.execute();
con.close();
}

}


Y EL PROCEDIMIENTO ALMACENADO CREADO EN ORACLE, ES ESTE:


create or replace procedure "SP_ELIMINARTIPOPROYECTO"
(xid_tipo_proyecto IN VARCHAR2 default '12',
xnombre_tipo_proyecto IN VARCHAR2 default '30')
is
begin
delete from tipo_proyecto where id_tipo_proyecto = 'xid_tipo_proyecto';
end;
/


Cuál es el problema???
Ayuda, p0or favor!!!