Foros del Web » Programación para mayores de 30 ;) » Java »

problemas insert mysql java

Estas en el tema de problemas insert mysql java en el foro de Java en Foros del Web. Hola a todos Tengo una pagina jsqp que usa un beans para manipular datos en mysql mediante el conector oficial de mysql para java, la ...
  #1 (permalink)  
Antiguo 06/03/2011, 09:28
 
Fecha de Ingreso: julio-2006
Ubicación: sevilla
Mensajes: 251
Antigüedad: 17 años, 10 meses
Puntos: 5
problemas insert mysql java

Hola a todos

Tengo una pagina jsqp que usa un beans para manipular datos en mysql mediante el conector oficial de mysql para java, la cuestion es que el select lo realiza correctamente pero cuando intento un insert o update me lanza

java.lang.NullPointerException justo en la linea en la que lanzo la sql


El codigo es llamado desde la pagina jsp accediendo mediante un beans de la siguiente forma.

Código:
prod.insertarProducto(prod.getNombre(),prod.getPrecio());
Código:
 public String insertarProducto(String nombre, float precio) throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException {

        int r;
        String sql = "INSERT INTO productos (id_producto, nombre, precio) VALUES (NULL, '" + nombre + "', '" + precio + "')";

        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            this.conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/catalogo", "root", "pruebas");
            r = this.s.executeUpdate(sql);
        } catch (Exception e) {
            return ("<p id=\"error\">Error: " + e + sql + "</p>");

        }



        this.rs.close();
        this.s.close();
        this.conn.close();
        return (sql);

    }
Bueno despues de mucho google encuentro que hay que prepara la sql con un metodo de java sin embargo no se como indicar en dicho metodo que el primer campo es un campo autonumerico incremental

Código java:
Ver original
  1. public String insertarProducto(String nombre, float precio) throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException {
  2.  
  3.         int r;
  4.         String sql = "INSERT INTO productos (id_producto, nombre, precio) VALUES (NULL, ?, ?)";
  5.  
  6.         try {
  7.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  8.             this.conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/catalogo", "root", "pruebas");
  9.  
  10.             this.stmt = conn.prepareStatement(sql);
  11.  
  12.             this.stmt.setString(1, nombre);
  13.             this.stmt.setFloat(2, precio);
  14.  
  15.             r = this.stmt.executeUpdate();
  16.         } catch (Exception e) {
  17.             return ("<p id=\"error\">Error: " + e + sql + "</p>");
  18.  
  19.         }
  20.  
  21.  
  22.         this.stmt.close();
  23.         this.rs.close();
  24.         this.s.close();
  25.         this.conn.close();
  26.         return (sql);
  27.  
  28.     }

Última edición por nevergame; 06/03/2011 a las 10:16 Razón: avanzando un poco
  #2 (permalink)  
Antiguo 06/03/2011, 21:19
Avatar de hwongu  
Fecha de Ingreso: junio-2008
Ubicación: Trujillo
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: problemas insert mysql java

Aca hay un ejemplo

http://www.programandoconcafe.com/20...ompras_24.html

Saludos
__________________
-
Atentamente
Ing. Henry Wong
Ing. de Computaciones y Sistemas
  #3 (permalink)  
Antiguo 06/03/2011, 21:38
 
Fecha de Ingreso: marzo-2011
Mensajes: 6
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: problemas insert mysql java

si el campo es auto_increment
ponle 0 (cero) y mysql le asignara el
autoincrementable que le corresponde
  #4 (permalink)  
Antiguo 07/03/2011, 04:41
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 4 meses
Puntos: 21
Respuesta: problemas insert mysql java

si el campo es id producto es auto_increment


String sql = "INSERT INTO productos (nombre, precio) VALUES ('" + nombre + "', '" + precio + "')";

Con eso consulta funciona

Saludos

Etiquetas: insert, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:37.