Bases de Datos - pasar datos de un registro a otro

 
Vista:

pasar datos de un registro a otro

Publicado por hereza (2 intervenciones) el 11/12/2009 19:51:49
Ayuda.
Estoy utilizando NetBeans, 6.7.1 y utilizo los asistentes, para el caso que expongo he utilizado java escritorio con bases de datos. Necesito como valor predeterminado de una columna del nuevo registro a crear, el contenido de la misma columna del registro anterior.
Agradecido
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:pasar datos de un registro a otro

Publicado por Franklin Gamboa (188 intervenciones) el 15/12/2009 13:19:43
Por usabilidad del sistema, lo mas apropiado es seleccionar el valor y desplegarlo en el campo respectivo al momento de hacer la carga y renderizado de la pantalla; tambien es la forma mas sencilla de hacer esto. En caso que no sea un campo editable por el usuario, lo ideal seria guardarlo en una propiedad para accesarla luego.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar datos de un registro a otro

Publicado por Juan Antonio (2 intervenciones) el 15/12/2009 16:41:58
Graciaspor tu respuesta, espero estudiarla y aclarar los terminos de "seleccionar el valor y desplegarlo en el campo" voy a ver ahora cómo crear una propiedad . por otra parte y dado que utilizar Netbean supone generar con sus asistentes, un formulario que contiene componentes visuales, JPanel, JScrollPane, JTextField, JBUtton etc..y otros componentes no visuales como entityManager, Query, List, es decir objetos. Además de una Clase de Entidad para soportar la tabla que gestiona el formulario.

Bien y sin querer salir del concepto IDE NetBeans y de la POO la programación debería resolverse utilizando propiedades, métodos, enlaces y eventos de los diferentes objetos involucrados en las piezas generadas por el asistente y escribiendo pequeñas y concretas piezas de código.

Si ves la solución utilizando propiedades de objetos, pero de los que genera le asistente de Netbeans, pues sería bueno y veo que dominas el asunto, te mantendré informado sobre posibles avances, por el momento creo que me voy acercando a la solución, pero todavía no lo he cerrado.
Recibe un cordial saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar datos de un registro a otro

Publicado por Franklin Gamboa (188 intervenciones) el 15/12/2009 20:12:40
El problema que tienes de momento es que estas dependiendo del asistente.

Esto no debería ser mas complejo de hacerle un select al campo (parto del supuesto que entiendes SQL, sino por favor avisame para facilitarte un poco de literatura al respecto), eso puede ocurrir cuando el formulario se despliega, ese valor lo guardas en una propiedad dentro de tu clase para poder usarlo despues.

Entonces, cuando el formulario se carga, creas una instancia de tu clase de acceso a datos (supongo que estas utilizando una) y seleccionas el valor anterior, este lo pones en una propiedad en alguna de tus clases (tiene que ser publica si es una clase ajena al formulario) y ya con eso la puedes tratar como cualquier variable Java, por lo que puedes asignarle su valor al JTextField para que se visualice.

Espero haberte aclarado un poco mas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar datos de un registro a otro

Publicado por Juan Antonio (2 intervenciones) el 17/12/2009 08:44:02
La verdad es que soy nuevo en Java y no alcanzo a entender el argot que utilizas, pero te adelanto que ya he encontrado la solución, aunque todavía hay un problema, te la resumo a continuación, por si puedes criticármela y mejorarla o ver algún problema que no alcanzo a ver . Si hay algo poco claro, no he adquirido la terminología y referencias propias de la literatura Java, me lo dices y te escribo en un post mas detalles. Creo que mi objetivo de manipular la Tabla sin salir del concepto de asistente está cumplido.

Todo lo he trabajado con el asistente de Netbeans para aplicaciones de escritorio con base de datos., sólo he necesitado actuar en tres puntos:

1) Definición del objetivo:
Dispongo de una columna llamada Final en una tabla
Dispongo de una columna llamada Inicial en la misma tabla
Deseo que al actualizar o crear un registro de la tabla el valor de la columna Final aparezca en la columna Inicial del siguiente registro a crear.

2) Componentes a manipular, todos creados de forma automática con el asistente:

En la clase Formulario:
Un objeto de edición llamado finalField, de tipo jTextField
Un objeto objeto Botón llamado refreshButton, tipo JButton

En la Clase entidad de la tabla:
Un método getInicial()

3) Manipulación en los objetos:

En la Clase del formulario
En el objeto finalField activamos un evento lostFocus
Fuera del método lostFocus escribimos la línea
Static String datoAnterior;
Dentro del método de lostFocus escribimos la línea
datoAnterior=finalField.getText();
En el botón refresh del formulario activamos un evento Actión con la línea
datoAnterior=null;

En la Clase Entidad:
En el método getInicial() escribimos una línea
inicial = Formulario.datoAnterior;,
en un if para hacerla sólo cuando Formulario.datoAnterior no es null

Muchas gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar datos de un registro a otro

Publicado por Juan Manuel Castañeda (2 intervenciones) el 10/01/2010 20:57:49
Clase EDntidad
static int finalinicial
public stactic int getInicial(){
return finalincal;
}
public void setIncial(int finalinicial ){
this.finalinical=finalinical;
}

Formulario
private void lostFocus(){
if(Jfinaltext.text!=null)
Entidad.setInicial(Integer:parseInt(fianltext.trxt));

}
Evento Toma foco JtextIninicial{
if(finaltext.text!!=null)
inicialtext.text=Entidad.getInicial();
finaltext.text="";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar datos de un registro a otro

Publicado por Juan Antonio (2 intervenciones) el 12/01/2010 15:38:20
Estimado Juan Manuel:
Gracias por tu respuesta, pero encuentro algunas dificultades:
Asunto previo, creo que lo has enfocado crando el formulario y la clase entidad sin usar NetBeans, ¿Es así? y yo pretendo y así lo resuelvo no quiero salirme de este IDE.
1)Creo haber corregido los errores del código a incluir en la clase Entidad, son errores por escritura rápida.
2)En el código a incluir en el formulario en lostFocus:
a)Supongo que la modificación al método lostFocus te referiras al campo de edición "final"
b)Aparecen unas nuevas variables "Jfinaltext que NetBeans no las genera, pues crea la variable "final1Field". Es necesario tener en cuenta que aunque el nombre del campo en la tabla es "final", al ser una palabra clave en Java, NetBeans la transforma en "final1Field"
c)El objeto "final1Field" no tiene el método "text" PERO SI EL "getText()"
d)El "if " está a falta de los {}
3)El código del método FocusGained del campo de edición inicial dada las dificultades encontradas en el lostFocus tengo similares dudas.

Una reflexión final. Intento utilizar las herramientas NetBeans y MySQL Workbench de forma intensiva y buscando la mínima intervención sobre el código generado, sin embargo veo que en los foros mas tendencia a programar a "pelo" que a utilizar las herramientas de productividad, ¿Porqué?

Recibe un cordiasl saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pasar datos de un registro a otro

Publicado por Franklin Gamboa (188 intervenciones) el 01/02/2010 20:12:27
Este es el motivo por el que no usamos "herramientas de productividad" donde yo trabajo: porque estan hechas para generar código que es común en todas las aplicaciones, pero en su intento de hacer algo estándar, el código que generan no siempre es el mejor, tiende a ser mas lento. También, esas herramientas no estan diseñadas para que uno haga la aplicación en ellas y no modifique nada, sino para que uno aproveche las virtudes del generador de código para hacer la parte de acceso a datos, pero las necesidades especificas para tu aplicación (como esta) es responsabilidad del programador de la aplicación. Tambien tiene muchas ventajas no utilizar ese tipo de herramientas, ya que introducen malas practicas de programación, tienden a generar aplicaciones mas lentas y si en algún momento ocupas darle soporte a tu applicación, si el código es generado no vas a entender que hacen los objetos, por ende el proceso de depuración se torna mas tedioso y lento.

Por otra parte, el código de Juan Manuel es código Java 100%, por ende puedes usarlo en netbeans, eclipse, Jdeveloper, Jbuilder... en fin... puede ser usado en cualquier compilador de java.

Espero haberte despejado las dudas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar