Skip to main content

Corregir problemas con DataProvider

En algunas ocasiones cuando diseñas aplicaciones web y no utilizas persistencia, mi preferido es JPA, pero si deseas usar RowSet en tus aplicaciones web y te encuentras con algunos errores, como ejemplo que el DataProvider aparece en el color rojo cuando hacemos el databinding, generalmente se debe algun problema con las tablas o la base de datos, en el siguiente ejemplo, demuestro como agregar dos tablas, y estando abierto en el diseñador web, desde el MySQL Browser o el MySQL Administrador (como prefieras), cambio el nombre a uno de los campos de la tabla, y esta ya habia sido arrastrada al formulario anteriormente con el nombre de campo sin modificar, generalmente, se mostrara el dataprovider en color rojo indicandonos algun problema, y no permitiendonos seleccionar ningun campo.
Puedes usar varias formas para solucionarlo, entre ellas, actualizar manualmente la sentencia sql con el nuevo nombre del campo, o cerrando el proyecto y abriendolo nuevamente.
Aqui vemos un ejemplo del DataProvider con errores


Aparecen los demas correctamente, menos el que cambios el nombre del campo en la base de datos luego de arrastrarlo al formulario

El campo que podemos ajustar manualmente, colocando el nombre que cambiamos llamado anteriormente regimenes y ahora regimen.


Este codigo lo encontramos en el metodo _init(), que es donde se inicializan el dataprovider.

Ahora en el diseñador seleccionamos el rowset y damos click derecho y escojemos la opcion Edit SQL Statement


En el diseñador SQL damos click derecho y seleccionamos agregar tabla (Add Table), para establecer la union de las varias tablas



seleccionamos de la lista la tabla con la que deseamos trabajar, estas deben tener un campo en comun

Nos aparece la tabla y la relación existente entre las tablas


Simplemente le quitamos la marca a la casilla de selección a los campos que no deseamos


Luego en el diseñador damos click derecho en la tabla y seleccionamos Bind To Data, para enlazar a una tabla de la base de datos

Luego de corregir el nombre del campo, este muestra el dataprovider correctamente, sin el color rojo

ahora podemos seleccionar los campos de la tabla, en base a la relación que se establecio en los pasos anteriores.

Comments

markblog said…
HOLA ....FELICIDADES POR TU BLOG ..TIENES INFORMACION MUY UTIL...

pero me gustaria que me ayudes para cargar una imagen de la base de datos a una pagina en este caso estoy trabajando con icefaces pero es lo mismo ...y utilizo netbeans 6.5 y mysql 5.x ....mira ya probe con un graphicImage y a este le arrastro (visualmente) la tabla donde tengo la imagen que quiero cargar ....... como es visual se me carga por defecto la primera imagen en el graphicImage pero...... QUIERO CAMBIAR LA IMAGEN Y ESO ES LO QUE NO PUEDO ... por ejemplo quiero que tras una accion de un commandButton se cambie la imagen ...y esto implicaria cambiar la sentencia sql es decir: rowSet.setCommand("SELECT ........... FROM image where id_image=1"); al 1 quiero ponerlo en una variable pero no me lo permite ....o existe otra forma ......AYUDAME PORFAVOR ... ES DE URGENCIA

DE ANTEMANO DE AGRADEZCO

ESPERO TU RESPUESTA

GRACIAS..!!

Popular posts from this blog

Tutorial básico de aplicaciones Web con NetBeans parte 1

NetBeans ofrece un excelente soporte para el desarrollo de aplicaciones Web, en esta ocasión lo haremos utilizando el Framework Java Server Faces 2.0. En el Menu Seleccionamos Nuevo->Proyecto y luego en Categorias Java Web y en tipo de Proyectos Web  Application indicamos el nombre del proyecto Seleccinamos el servidor Web, usamos GlassFish ya que este soporta EJB3.0 y JSF 2.0 Framework Java Server Faces El IDE genera el esquelto del proyecto Web Pages   almacenamos las paginas .html, xhtml, jsf, los archivos de recursos, los scripts .js, imagenes Source Packages    Son las clases Java  Test Packages    Son las clases que usamos para los Test Libraries     Tenemos las bibliotecas de Java y GlassFish necesarias para ejecutar la aplicación Web. Test Libraries     Están las bibliotecas usadas para los test  Configuration Files    Archivos de configuración de la aplicación. Ejecutamos la...

Incrementar Memoria NetBeans

Algunas veces necesitamos incrementar la memoria para un mejor rendimiento. http://www.netbeans.org/community/releases/55/uml-download.html Este es un ejemplo para UML. Descripción en ingles. Increasing Memory Settings (applicable to all builds) The default memory settings for NetBeans should be increased for UML projects. If you have the available memory, Locate your NetBeans installation directory ($install_dir). This can be found by starting up NetBeans and selecting Help -> About then select the Detail tab. Edit the $install_dir/etc/netbeans.conf file. Find the line defining netbeans_default_options . Increase the maximum memory attribute to -J-Xmx512m. If you experience heap overflows while working with larger files, you should increase this value further.

Cambiando el estado de un checkbox

Cambiando el Estado de un CheckBox Algunas veces deseamos controlar el estado de un checkbox o cambiarlo segùn determinadas condiciones. Pasos: 1. Creamos un proyecto Web. 2. En el diseñador agregamos un checkbox y dos botones. * Dar click derecho en el checkbox y luego seleccionar Add Binding Attribute, para agregar los atributos al checkbox, de manera que los podamos usar en nuestro código. Generando automáticamente private Checkbox checkbox1 = new Checkbox(); public Checkbox getCheckbox1() { return checkbox1; } public void setCheckbox1(Checkbox c) { this.checkbox1 = c; } 3.Damos click derecho en el botón Habilitar, y seleccionamos Edit Action Event Handler. A continuación, agregamos el código: this.checkbox1.setSelected(true);, el método setSelected con valor true, marca el checkbox como seleccionado, y un valor de false, quita la marca. public String button1_action() { // TODO: Process the action. Return value is a navigation // ...