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

[SOLUCIONADO] INSER query no funciona

Estas en el tema de INSER query no funciona en el foro de Java en Foros del Web. Hola a todos y gracias por adelantado, Tengo que pasar mucha información de un fichero a una base de datos por lo que he hecho ...
  #1 (permalink)  
Antiguo 18/01/2013, 04:03
 
Fecha de Ingreso: julio-2012
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
INSER query no funciona

Hola a todos y gracias por adelantado,

Tengo que pasar mucha información de un fichero a una base de datos por lo que he hecho un pequeño programa en java que lee el fichero y ejecuta las queries necesarias para insertar la información.

Código:
 public static void main(String[] args) {
        
        // TODO code application logic here

        //Read txt file
        readFile();
        //Open DB
        activeConn = createConnection();
        //Execute Query
        int i = 0;
        try {
            for (i = 0; i < toolName.size(); i++) {
                if(!checkToolName(toolName.elementAt(i))){
                    insertTooldata(toolName.elementAt(i));
                    insertVersionData(toolName.elementAt(i), version.elementAt(i));
                    System.out.println("Insertado: " + toolName.elementAt(i) + " - " + version.elementAt(i) );
                }
            }
        } catch (SQLException ex) {
            System.out.println("Error al insertar " + toolName.elementAt(i) + version.elementAt(i));
            ex.printStackTrace();
        }
            
        
        
    }
Código:
private static void insertTooldata(String toolName)throws SQLException {

        String query = "INSERT INTO tbl_Tool"
                + "(Name, AutoLicenceTool, FK_Type, IntranetVisible,    FK_BusinessUnitID,FK_KatNr)"
                + "VALUES(?,?,?,?,?,?)";

        PreparedStatement psmt = activeConn.prepareStatement(query);
        psmt.setString(1, toolName);
        psmt.setBoolean(2, false);
        psmt.setString(3, "TSim Plugin");
        psmt.setBoolean(4, false);
        psmt.setInt(5, 3);
        psmt.setInt(6, 7);
        psmt.executeUpdate();
        
    }


 private static void insertVersionData(String toolName, String version) throws SQLException{
               
        String query = "INSERT INTO tbl_ToolVersion(FK_Tool, FK_EncProject, Version,"
    +"InsertDate, Release, ExpireDate, FK_Freigabe, FreigabeDokument, Developer,AutoLicenceVersion) "
                + "VALUES(?,?,?,?,?,?,?,?,?,?)";
        PreparedStatement psmt = activeConn.prepareStatement(query);
        psmt.setString(1, toolName);
        psmt.setString(2, toolName);
        psmt.setString(3, version);
        psmt.setDate(4, null);
        psmt.setBoolean(5, false);        
        psmt.setDate(6, null);
        psmt.setString(7, "Intern");
        psmt.setString(8, null);
        psmt.setString(9, null);
        psmt.setBoolean(10, false);
        psmt.executeUpdate();
        
        
        
        
    }
Cuando lo ejecuto funciona correctamente pero cuando busco esos datos en al base de datos no existen. Que es lo que falla¿? porque no se insertan los datos?

Saludos
  #2 (permalink)  
Antiguo 18/01/2013, 05:05
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 13 años, 10 meses
Puntos: 188
Respuesta: INSER query no funciona

Por lo que parece, no está realizando el commit que actualiza las modificaciones realizadas en BD.

Cuando ejecutas operaciones contra la BD, al finalizarla tienes dos opciones, ejecutar commit o rollback.

Commit guarda todos los cambios realizados y los vuelve permanentes.
Rollback anula todos los cambios realizados y deja la BD en el estado anterior a la ejecución de las operaciones.

Échale un vistazo a esto a ver si te sirve de ayuda.

http://docs.oracle.com/javase/tutori...nsactions.html
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 18/01/2013, 17:00
Avatar de youangelazul  
Fecha de Ingreso: julio-2012
Ubicación: Ancash, Huarmey
Mensajes: 18
Antigüedad: 10 años
Puntos: 3
Respuesta: INSER query no funciona

mmm... muestranos la clase de CONEXIOn con la BD porfis... o caso contrario prueba solo con .execute();

Atte. YouAnGelAzul, Peru...
  #4 (permalink)  
Antiguo 21/01/2013, 02:49
 
Fecha de Ingreso: julio-2012
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Respuesta: INSER query no funciona

Hola señores,

Si efectivamente me di cuenta de que no habia hecho el commit como muy bien habia dicho Fuzzylog, como siempre son pequeños despistes!!!

Muchas gracias a todos :)

Etiquetas: insert, java-mysql, sql
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 22:17.