05/12/2011, 22:50
|
| | Fecha de Ingreso: septiembre-2011
Mensajes: 40
Antigüedad: 13 años, 2 meses Puntos: 0 | |
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!!! |