Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/09/2011, 18:20
Avatar de farfamorA
farfamorA
 
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 5 meses
Puntos: 24
Respuesta: insertar datos en mysql con netbeans

Pues la misma excepción te lo dice:
Estás duplicando una clave primaria. El problema son los datos que estás ingresando. Estás ingresando un dato que ya existe como clave primaria, por eso te sale ese error.

Ahora, con respecto a tu manera de trabajar las clases con la base de datos, no está para nada ordenado.

Te propondría utilizar JPA, pero vamos, recién estás empezando con JDBC así que te daré algunos alcances:

En primer lugar, tienes dos entidades: Vaca y Establecimiento. Veamos algo sencillo, cada vaca debe tener un nombre, y debe pertenecer a un establecimiento. Tu base de datos deberá tener una estructura mas o menos así:
Código SQL:
Ver original
  1. CREATE DATABASE granja;
  2. USE granja;
  3.  
  4. CREATE TABLE establecimiento
  5. (
  6. est_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  7. est_nombre VARCHAR(50) NOT NULL
  8. );
  9.  
  10. CREATE TABLE vaca
  11. (
  12. vac_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  13. vac_nombre VARCHAR(50) NOT NULL,
  14. est_id INT NOT NULL
  15. );
  16.  
  17. ALTER TABLE vaca
  18.   ADD CONSTRAINT fk_vaca_establecimiento
  19.   FOREIGN KEY (est_id) REFERENCES establecimiento(est_id);
  20.  
  21. INSERT INTO establecimiento (est_nom) VALUES('ESTABLECIMIENTO A');
  22. INSERT INTO establecimiento (est_nom) VALUES('ESTABLECIMIENTO B');

En tu proyecto Java en NetBeans, crea un paquete llamado entities y dentro de él, dos clases: una clase Vaca y otra clase Establecimiento. Te quedarán algo así:
Código Java:
Ver original
  1. package entities;
  2.  
  3. public class Establecimiento {
  4.    
  5.     private int id;
  6.     private String nombre;
  7.  
  8.     public Establecimiento() {
  9.     }
  10.  
  11.     public Establecimiento(int id, String nombre) {
  12.         this.id = id;
  13.         this.nombre = nombre;
  14.     }
  15.  
  16.     public int getId() {
  17.         return id;
  18.     }
  19.  
  20.     public void setId(int id) {
  21.         this.id = id;
  22.     }
  23.  
  24.     public String getNombre() {
  25.         return nombre;
  26.     }
  27.  
  28.     public void setNombre(String nombre) {
  29.         this.nombre = nombre;
  30.     }
  31.  
  32. }

Código Java:
Ver original
  1. package entities;
  2.  
  3. public class Vaca {
  4.    
  5.     private int id;
  6.     private String nombre;
  7.     private Establecimiento establecimiento;
  8.  
  9.     public Vaca() {
  10.     }
  11.    
  12.     public Vaca(int id, String nombre, Establecimiento establecimiento) {
  13.         this.id = id;
  14.         this.nombre = nombre;
  15.         this.establecimiento = establecimiento;
  16.     }
  17.  
  18.     public Establecimiento getEstablecimiento() {
  19.         return establecimiento;
  20.     }
  21.  
  22.     public void setEstablecimiento(Establecimiento establecimiento) {
  23.         this.establecimiento = establecimiento;
  24.     }
  25.  
  26.     public int getId() {
  27.         return id;
  28.     }
  29.  
  30.     public void setId(int id) {
  31.         this.id = id;
  32.     }
  33.  
  34.     public String getNombre() {
  35.         return nombre;
  36.     }
  37.  
  38.     public void setNombre(String nombre) {
  39.         this.nombre = nombre;
  40.     }
  41.    
  42. }

El resto del proceso te lo muestro en un proyecto en Netbeans que funciona con la base de datos que creamos con el código que esta mas arriba para que lo veas más claro. El proyecto que te mando es sólo una idea, no pretende ser ley ni nada por el estilo. Falta implementar el manejo de excepciones, y otras cosillas más. Pero para empezar, está bien:

[URL="http://www.mediafire.com/?27ks7pzhvcdhk23"]Descarga aquí el proyecto[/URL]

Recuerda editar la clase ConexionBD para que pongas correctamente el nombre de usuario y la contraseña de tu base de datos.