Estoy realizando un ejercicio de Jdbc que va de insertar eliminar y hacer select:
Tengo hecha conexion a la BD mediante el JDBC-ODBC Bridge.
Pero no se porque el codigo tiene un fallo que no permite hacer un insert que debiera hacerlo y me salta a un catch del programa principal. Pongo los comentarios de donde falla y porque en negrita en el codigo.
Cuando en el programa principal ejecuto esta instruccion:
Cita:
El trozo de codigo del programa principal que quiero ejecutar es: String insert1="INSERT INTO Propietario VALUES ('33333333A','Soraya','Nulo');";
Cita:
Agente a=Agente.obtAgente();
a.d_i_u(insert1); <--No me funciona esta llamada
a.d_i_u(insert1); <--No me funciona esta llamada
El codigo JDBC es el siguiente:
Código:
Agradeceria mucho que alguien me echara una mano.public class Agente { private static Agente mInstancia=null; private static Connection mBD; private Agente() throws Exception { conectar(); } public static Agente obtAgente() throws Exception { if (mInstancia==null) { mInstancia=new Agente(); } return mInstancia; } private static void conectar() throws Exception { String url="jdbc:odbc:AgenteBD"; String driver="sun.jdbc.odbc.JdbcOdbcDriver"; try { Class.forName(driver); mBD=DriverManager.getConnection(url,"root",""); } catch (Exception e) { System.out.println("Error al conectar con la base de BD."+e); } } public static void desconectar() throws Exception { try { mBD.close(); } catch(SQLException sqle) { System.out.println("Error al cerrar la BD"+ sqle); } } /** * para hacer deletes , inserts y updates */ public int d_i_u(String Sql) throws SQLException, Exception { Statement sentencia=mBD.createStatement(); int resultado= sentencia.executeUpdate(Sql);<---Aqui me sale el error cuando se hace la llamada de Agente.obtAgente().d_i_u(insert1); el compilador no hace un return resultado, como si no se hubiera ejecutado, y me salta a un catch del programa principal return resultado; } /** * para hacer selects */ public ResultSet select(String Sql) throws SQLException, Exception { Statement sentencia=mBD.createStatement(); ResultSet r=sentencia.executeQuery(Sql); return r; }
S2!