mi problema es el siguiente tengo tres campos de texto llamados txtfechainicial, txtfechafinal que en la base de datos son tipo DATE y txtduracion que es de tipo VARCHAR
las fechas se ingresan por teclado y lo que necesito es q la diferencia entre esas dos fechas se muestre en el campo txtduracion
buscando como hacerlo en mysql encontre esto:
String sql ="select fechaInicial,fechaFinal, datediff(fechaFinal,fechaInicial)as duracion from tabla";
que en mysql funciona perfectamente
pero cuando quiero hacerlo desde NetBeans no hace nada
Código:
void diferencia(){ String fechaInicial="",fechaFinal="",duracion=""; ConexionMySQL mysql = new ConexionMySQL(); Connection cn = mysql.Conectar(); if (txtfechaFinal.getText().length() == 0 || " ".equals(txtfechaFinal.getText())) { JOptionPane.showMessageDialog(null, "El campo Fecha Final no puede estar vacio.");} else{ String fsql ="select fechaInicial,fechaFinal, datediff(fechaFinal,fechaInicial)as duracion from tabla";// COMO TOMO EL RESULTADO DE ESTA CONSULTA?' try { Statement st = cn.createStatement(); ResultSet rs = st.executeQuery(fsql); while(rs.next()) { fecha = rs.getString("fecha"); seguimiento = rs.getString("ultimoseguimiento"); duracion=rs.getString("duracion"); } txtapertura.setText(fecha); txtseguimiento.setText(seguimiento); txtduracion.setText(duracion); //aqui asigna a los campos los valores encontrados es los registros y me confunde un poco porque no se si en 'duracion' pone lo que se ejecuto en el select o pone el registro que esta en la tabla } catch (SQLException ex) { JOptionPane.showMessageDialog(null, ex); }} }
se que hay otra manera y lei sobre el tema pero no entendi ni media ya que hasta hace muy poco trabajo en java asi que agradeceria mucho una ayudita porque el asunto es urgente
si exite una solucion mejor es bienvenida
Gracias