Java - Problema con oracle

 
Vista:

Problema con oracle

Publicado por Gus (1 intervención) el 03/06/2012 20:35:58
Hola muy buenas estoy realizando una aplicacion conectada a una base de datos, en la que añades, elminas y buscas....

De momento solo añado clientes y ventas, el boton de añadir ventas va perfecto, pero no se porque al intentar añadir clientes me dice que ya exsite, estando la base de datos vacia... Os pongo aqui los codigos de cada uno de los botones

private boolean dbMethodAnyadirVenta(Venta venta, int sql) {
boolean ver = false;
String identificador = venta.obtenerIdentificador();
String nProducto = venta.obtenerNPro();
String dniEmpleado= venta.obtenerDniEmpleado();
String dniCliente = venta.obtenerdniCliente();
String fecha = venta.obtenerFecha();

try{
Class.forName("oracle.jdbc.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","SYSTEM","1213llanes");
Statement stm = con.createStatement();
ResultSet rs;

if (sql == 1){
String sql1 = ("INSERT INTO SYSTEM.TABLA_VEN(ID_VENTA, ID_PRODUCTO, DNI_EMPLEADO, DNI_CLIENTE, FECHA_VENTA) VALUES('"+identificador+"','"+nProducto+"','"+dniEmpleado+"','"+dniCliente+"','"+fecha+"')");

if(identificador != null){
try{
stm = con.prepareStatement(sql1);
stm.executeUpdate(sql1);

ver = true;
} catch(SQLException SqlException){
JOptionPane.showMessageDialog(null, "La venta con identificador "+identificador+" ya existe");
}
}
}
}catch(SQLException ex){
System.out.print(""+"sql error");
}catch(ClassNotFoundException ex){
System.out.print(""+"oracle no encontrado");
}

return ver;
}

El codigo anterior como se puede ver es el de añadir ventas, se ejecuta perfectamente. A continuacion or pongo el codigo para añadir clientes, yo creo q son iguales, peor no se donde esta el error


private boolean dbMethodAnyadirCliente(Cliente cliente, int sql) {
boolean ver = false;
String nombre = cliente.obtenerNombre();
String apellido1 = cliente.obtenerApellido1();
String apellido2 = cliente.obtenerApellido2();
String dni = cliente.obtenerDNI();
String direccion = cliente.obtenerDireccion();
String codigo = cliente.obtenerCodigo();
String ciudad = cliente.obtenerCiudad();
String telefono1 = cliente.obtenerTelefono1();
String telefono2 = cliente.obtenerTelefono2();
String email = cliente.obtenerEmail();
String fecha = cliente.obtenerFecha();
String sexo = cliente.obtenerSexo();

try{
Class.forName("oracle.jdbc.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","SYSTEM","1213llanes");
Statement stm = con.createStatement();
ResultSet rs;

if (sql == 1){
String sql1 = ("INSERT INTO SYSTEM.TABLA_CLI(NOMBRE_CLI, APELLIDO1_CLI, APELLIDO2_CLI, DNI_CLI, CODIGO_POSTAL_CLI, CIUDAD_CLI, CIUDAD_CLI, TELEFONO1_CLI, TELEFONO2_CLI, EMAIL_CLI, FECHA_NACIMIENTO_CLI, SEXO_CLI) "
+ "VALUES('"+nombre+"','"+apellido1+"','"+apellido2+"','"+dni+"','"+direccion+"','"+ciudad+"','"+codigo+"','"+telefono1+"','"+telefono2+"','"+email+"','"+fecha+"','" +sexo+"')");
if(dni != null){
System.out.println("dentro del IF");
try{
System.out.println("dentro del try");
stm = con.prepareStatement(sql1);
System.out.println("dentro del try 2");
stm.executeUpdate(sql1);
System.out.println("dentro del try 3");
ver = true;
} catch(SQLException SqlException){
JOptionPane.showMessageDialog(null, "El cliente con DNI "+dni+" ya existe");
}
}
}
}catch(SQLException ex){
System.out.print(""+"sql error");
}catch(ClassNotFoundException ex){
System.out.print(""+"oracle no encontrado");
}

return ver;
}


He colocado varios System.out.println para comprobar donde deja de ejecutarse, y es en el System.out.println("dentro del try 2"); espero que me podais ayudar. El unico problema es con el segundo codigo el primero me va perfecto.
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder