elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Actualizar MYSQL desde evento JAVA
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Actualizar MYSQL desde evento JAVA  (Leído 1,682 veces)
lluvplay

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Actualizar MYSQL desde evento JAVA
« en: 6 Abril 2014, 14:10 pm »

Hola buenos dias mi gente, estoy teniendo problema para actualizar mi base de datos mysql desde un envento serial.

El tema seria el siguiente: estoy recogiendo datos desde otro sistema mediante un evento serial, los datos se estan mostrando a la perfeccion, pero cuando estos datos llegan trato de llamar al metodo insert (mi metodo de insert en mysql) y nunca llega a este metodo. el codigo es el siguiente.

Código:
 SerialPortEventListener evento = new SerialPortEventListener() {
                    @Override
                        public void serialEvent(SerialPortEvent spe) {
                            if(arduino.MessageAvailable()==true)
                            {
                                concatenar = concatenar + arduino.PrintMessage();                       
                            }
                                 if (concatenar.length()>20)
                                 {
                                    data = concatenar.split("!");
                                        for (inicio=0; inicio<data.length; inicio++)
                                        {
                                            System.out.println(data[inicio]);
                                        }     
                                     db_conexion obj = new db_conexion();
                                             try {
                                             obj.db_conexion();
                                              obj.insertar(data);         
                                              System.out.println("aka");
                                              Thread.sleep(60000);
                                             } catch (SQLException ex) {
                                             Logger.getLogger(ventana_p.class.getName()).log(Level.SEVERE, null, ex);
                                             }
                                            termo.setValue(Double.parseDouble(data[4]));//Integer.parseInt(data[3]));
                                    txt_temperatura_actual.setText((data[4])+"º C");
                                    segundosDataset = new DefaultValueDataset(Double.parseDouble(data[1]));
                                    dialplot_velocidad.setDataset(0, segundosDataset);
                                    txt_velocidad_actual.setText(data[1]+" km/h");
                                    indice = Integer.parseInt(data[5]); // utilizo la misma variable indice
                                    dataset = new DefaultValueDataset(indice/133.322368);
                                    dialplot_presion_at.setDataset(dataset);
                                    txt_humedad_relativa.setText(data[3]+" %");
                                   
                                    indice = Integer.parseInt(data[2]);//{"1","2","3","4","5","6","7","8"};//{"O","NO","N","SO","NE","S","SE","E"}                             
                                 
                                    if(indice== 3)
                                       {     
                                            System.out.println ("--->N");
                                            panel_de_vel_viento.setIcon(Imagen[0]);
                                       }
                                       if(indice== 5)
                                       {     
                                            System.out.println ("--->NE");
                                            panel_de_vel_viento.setIcon(Imagen[1]);
                                       }
                                       if(indice== 2)
                                       {     
                                            System.out.println ("--->NO");
                                            panel_de_vel_viento.setIcon(Imagen[2]);
                                       }
                                       if(indice== 8)
                                       {     
                                            System.out.println ("--->E");
                                            panel_de_vel_viento.setIcon(Imagen[3]);
                                       }
                                       if(indice== 1)
                                       {     
                                            System.out.println ("--->O");
                                            panel_de_vel_viento.setIcon(Imagen[4]);
                                       }
                                       if(indice== 6)
                                       {     
                                            System.out.println ("--->S");
                                            panel_de_vel_viento.setIcon(Imagen[5]);
                                       }
                                       if(indice== 7)
                                       {     
                                            System.out.println ("--->SE");
                                            panel_de_vel_viento.setIcon(Imagen[6]);
                                       }
                                       if(indice== 4)
                                       {     
                                            System.out.println ("--->SO");
                                            panel_de_vel_viento.setIcon(Imagen[7]);
                                       }
                                          System.out.println(concatenar);
                                          System.out.println(concatenar.length());
                                          concatenar ="";
                                  }                                       
                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
              } // fin del metodo
             
        }; //fin del evento

colocare mi metodo insert pero segun mis pruebas el metodo insert esta bien, porque lo llamo de la misma forma desde un boton y este si funciona. pero bueno aqui esta:

Código:
public void insertar( String data[]) throws SQLException
{
       
        prepared=conexion.prepareStatement("SELECT max(da_id_data) FROM `te_data`");
        tabla=prepared.executeQuery();
        metadata=tabla.getMetaData();
        while (tabla.next())
        {           
           filas =new Object[metadata.getColumnCount()];
            for (int i = 0; i < filas.length; i++)
                filas[i]=tabla.getObject(i+1);               
        }
        String convert = String.valueOf(filas[0]);
        int siguiente = Integer.parseInt(convert)+1;
       
Calendar cal = Calendar.getInstance();
//        java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());

PreparedStatement pstmt = null;
    try {
      String query = "insert into te_data (da_id_usuario, da_id_data, da_fecha, da_temperatura, da_humedad, da_velocidad, da_direccion, da_presion_at) values(?, ?, ?, ?, ?, ?, ?, ?)";

      // create PrepareStatement object
      pstmt = conexion.prepareStatement(query);
      pstmt.setInt(1,1);
      pstmt.setInt(2, siguiente);
      pstmt.setTimestamp(3, new java.sql.Timestamp(cal.getTimeInMillis()));
      pstmt.setFloat(4, 24);//Float.parseFloat(data[4]));
      pstmt.setInt(5,12);//Integer.parseInt(data[3]));
      pstmt.setDouble(6, 23);//Double.parseDouble(data[1]) );
      pstmt.setString(7,"S");// data[2]);
      pstmt.setDouble(8, 762);//Double.parseDouble(data[5]));
     
      int rowCount = pstmt.executeUpdate();
      System.out.println("rowCount=" + rowCount);
    } finally {
      pstmt.close();
      conexion.close();
   }
}//fin del metodo



si alguien ha actualizado mysql desde un evento serial ayuda.

OJO EL MÉTODO ESTA ACTUALIZANDO DESDE UN BOTÓN, mas no cuando ocurre el envento serial.

Saludos y gracias de ante mano por cualquiera ayuda.


En línea

* Determinismo Causal !! Estamos Programados Para Necesitar Respuestas!!

* No deberías copiar un código, sin antes haber comprendido porque funciona de esa manera !
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
JAVA ECLIPSE ==>DAR EVENTO CLIK AL JButton
Java
leliCabello 1 5,371 Último mensaje 11 Octubre 2009, 02:22 am
por egyware
¿crear un evento programado para un procedimiento almacenado MYSQL?
Bases de Datos
efreway 1 5,710 Último mensaje 10 Noviembre 2011, 20:31 pm
por Shell Root
Actualizar un textarea desde mysql cada x segundos. ALGUN EJEMPLO?
Desarrollo Web
70N1 2 2,614 Último mensaje 27 Junio 2012, 11:09 am
por 70N1
ayuda con busqueda en MySQL desde java
Java
yo_lestat 5 2,716 Último mensaje 22 Agosto 2012, 19:16 pm
por yo_lestat
Ayuda ! Al momento de actualizar los datos ( Mysql y Java)
Java
jefrino 2 2,052 Último mensaje 19 Abril 2016, 04:10 am
por + 1 Oculto(s)
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines