Seleccionar objetos de la BD como fuentes de datos
Después de conectarse a una BD aparece el cuadro de diálogo Agregar fuente de página (imagen siguiente). En este cuadro de diálogo puede seleccionar el objeto de BD (tabla o vista) que quiere agregar como origen de datos. La opción por defecto selecciona todas las columnas de la tabla o vista. Puede afinar la selección en los pasos siguientes con la instrucción SQL SELECT, que es muy flexible. Puede optar por generar una instrucción SELECT con ayuda del asistente de conexión a DB de MobileTogether o generarla manualmente. Haga clic en el botón relevante en la parte inferior del cuadro de diálogo. Una instrucción SELECT también puede servir para acceder a otros tipos de objetos de la base de datos, entre los que se incluyen, entre otros, los procedimientos almacenados.
Tenga en cuenta que:
•La BD a la que está conectado aparece como BD seleccionada. Este catálogo no se puede cambiar.
•No se puede seleccionar más de una tabla como origen de datos al mismo tiempo.
•Puede usar instrucciones SELECT para incluir/descartar filas específicas de la tabla/vista seleccionadas, además de usar otras funciones de búsqueda de la instrucción SELECT.
•Puede generar una instrucción SELECT en base a la tabla/vista seleccionadas (haga doble clic en la tabla/vista seleccionada o haga clic en Generar una instrucción SELECT). También puede introducir una instrucción SELECT con código SQL (haga clic en Agregar una instrucción SELECT). A continuación explicamos los cuadros de diálogo que aparecen en cada caso.
Nota: Este cuadro de diálogo (imagen anterior) solo aparece cuando se añade un origen de datos por primera vez. Con él puede seleccionar un origen de datos. Una vez que se ha creado una fuente de página, solo puede editar la instrucción SELECT del origen de datos, pero no el origen de datos.
Generar una instrucción SELECT
Si, estando en el cuadro de diálogo Agregar fuente de página (imagen anterior) hace doble clic en una tabla/vista de la lista o hace clic en el botón Generar una instrucción SELECT, aparece el cuadro de diálogo en el que puede generar instrucciones SELECT (imagen siguiente). Este cuadro de diálogo detecta qué tabla se ha seleccionado y ofrece una guía basada en el contexto para generar la instrucción SELECT. Puede usar los botones de la barra de herramientas y los controles del cuadro de diálogo (como los cuadros combinados) para generar una instrucción, que aparecerá en un panel más abajo.
Use este mecanismo para generar una instrucción SELECT.
•Para la palabra clave SELECT elija las columnas que quiera haciendo clic en el botón Cuadro de diálogo adicional. En el cuadro de diálogo Columnas que aparece, marque la casilla Usar todas las columnas para usar la instrucción SELECT * para seleccionar todas las columnas o marque una a una las columnas que quiere seleccionar.
•El valor de la palabra clave FROM será el nombre de la tabla de BD que se use. Este viene preseleccionado y no se puede cambiar. Si quiere más flexibilidad al editar la instrucción SELECT, use el cuadro de diálogo Agregar/Editar una instrucción SELECT (más abajo).
•Agregar expresiones para la cláusula WHERE con los botones de la barra de herramientas Insertar expresión antes/después. (Para insertar una expresión antes, primero debe seleccionar otra expresión.) Por cada expresión, puede (i) elegir una de las columnas disponibles en el primer cuadro combinado, (ii) elegir un operador de cláusula condicional WHERE en el segundo y (iii) introducir como expresión XPath un valor condicional para la columna seleccionada.
•Al añadir una expresión nueva a la cláusula WHERE, se selecciona el operador lógico AND como operador de unión. Puede cambiar el operador lógico (AND u OR) en el cuadro combinado.
•Para crear filtros complejos, puede agrupar varias expresiones de la cláusula WHERE entre paréntesis. Seleccione un conjunto de expresiones adyacentes (operadores lógicos incluidos) y seleccione el botón de la barra de herramientas para encerrar el conjunto de expresiones seleccionado entre corchetes.
•Para ordenar el resultado, agregue una cláusula ORDER BY, en la que puede elegir: (i) la columna que quiere ordenar y (ii) el orden (ascendente o descendente). Para ordenar varias columnas, agregue más cláusulas ORDER BY antes o después de la primera, según el caso.
•Estos son los comandos de edición que puede usar: Deshacer, Rehacer, Seleccionar toda la cláusula WHERE, Cortar, Copiar, Pegar y Eliminar.
•Si quiere agregar relaciones desde la tabla/vista actuale a otras tablas/vistas, puede agregar las tablas/vistas relacionadas y construir relaciones en la interfaz gráfica. Haga clic en Agregar tablas/vistas relacionadas para abrir el cuadro de diálogo correspondiente (que explicamos más abajo).
Agregar tablas y vistas relacionadas
En el cuadro de diálogo Agregar/editar relaciones (imagen siguiente) puede (i) habilitar las relaciones que existen en la BD (imagen izquierda) y (ii) crear relaciones entre tablas (imagen inferior derecha). También puede crear fuentes de página de BD jerárquicas.
Si en la BD hay tablas relacionadas con la tabla principal, cada una de ellas aparece con una casilla de verificación. Puede seleccionar las tablas para las que quiere mantener la relación. (Las relaciones se construyen a base de claves principales y foráneas). Por ejemplo, en la imagen anterior izquierda, la tabla Books tiene una clave foránea AuthorID que relaciona cada registro de libro con un autor en la tabla Authors. Si la relación se mantiene (seleccionando la tabla Books), la fuente de página se crea de forma que Books esté relacionada jerárquicamente con Authors como su tabla secundaria. Para ver un ejemplo de cómo se usan las bases de datos jerárquicas, consulte el tutorial de bases de datos jerárquicas.
Si quiere agregar una relación nueva a una columna (o a un campo) que esté en otra tabla, siga estos pasos:
1.Haga clic en el cuadro combinado de la entrada Agregar relación nueva y seleccione la tabla en la que se encuentra el campo relacionado. En la imagen anterior derecha, por ejemplo, se ha agregado la tabla MobileCockpit_Offices.
2.Seleccione Ver todos los campos de relación y Ver todos los campos para poder ver todos los campos de todas las tablas/vistas.
3.En la tabla que ha agregado, haga clic en la flecha hacia abajo del campo para el que quiere crear la relación.
4.Se abre una lista desplegable que muestra los nombres de las columnas de tabla originales. Seleccione la columna que quiere relacionar con el campo actual. La columna relacionada aparece a la derecha del símbolo igual. En la imagen anterior, por ejemplo, el campo id de la tabla Offices que se agrega está relacionado con el campo id de la tabla original Sales.
5.Para terminar, haga clic en Aceptar.
Tenga en cuenta que:
•Si marca Ver todos los campos de relación solo verá las columnas que tengan relaciones. Si marca la opción Ver todos los campos verá todos los campos de todas las tablas/vistas. Si no marca ninguna de estas opciones no verá ninguno de los campos.
•Si hace clic en el icono Filtro que hay junto al nombre de la tabla/vista que ha añadido, se abre el cuadro de diálogo Generar instrucción SELECT (imagen anterior), en el que puede generar una instrucción para filtrar la tabla/vista que agregó.
•Para agregar nombres de tablas relacionadas aunque no existan filas en la tabla, marque la casilla correspondiente en la parte inferior del cuadro de diálogo (imagen anterior derecha).
Compatibilidad con escritura jerárquica en BDs
Cuando se agrega el origen de datos principal como fuente de página del diseño, sus tablas relacionadas (que se crean como describimos más arriba) aparecen como nodos secundarios de la tabla principal. Estos nodos secundarios se pueden asignar a los controles del diseño como de costumbre y las relaciones jerárquicas que aparecen en la estructura de fuente de página se pueden usar en expresiones XPath en el diseño. Además, si la tabla principal de la BD se asigna a un control de Tabla y sus nodos secundarios se asignan a celdas del control de tabla, los datos que aparecen en la tabla varían en función de las relaciones de la jerarquía. Para ver un ejemplo consulte el tutorial de bases de datos jerárquicas.
Para más información sobre cómo guardar datos en la BD, consulte Guardar datos en la base de datos.
Agregar/editar una instrucción SELECT
En la sección anterior hemos explicado el cuadro de diálogo que permite generar instrucciones SELECT para la tabla/vista seleccionada. En ese cuadro de diálogo la tabla/vista viene preseleccionada y no se puede cambiar. Si lo que quiere es crear una instrucción SELECT sin ninguna restricción o modificar una instrucción SELECT que ya exista, puede usar el cuadro de diálogo Agregar/editar una instrucción SELECT (imagen siguiente). Puede acceder a este cuadro de diálogo en dos momentos del proceso de selección de datos (botones resaltados en verde en las dos imágenes anteriores).
•En el cuadro de diálogo Seleccionar tabla o vista (primera imagen de este apartado) haga clic en Agregar una instrucción SELECT.
•En el cuadro de diálogo Generar una instrucción SELECT (segunda imagen de este apartado) haga clic en Cambiar a una instrucción SELECT. La instrucción SELECT que ha creado hasta ahora aparecerá en el cuadro de diálogo Modificar instrucción SELECT (imagen siguiente) y podrá editarla.
En el panel superior, introduzca o edite la instrucción SELECT usando el lenguaje de consulta de BD SQL. Como ve en la imagen anterior, puede usar parámetros en lugar de valores. Para usar parámetros, primero introduzca un punto y coma y un nombre de parámetro en la instrucción SELECT, por ejemplo :par1. Se crea automáticamente una entrada para este nombre de parámetro en el panel Parámetros, en la parte inferior media del cuadro de diálogo. Aquí, por cada parámetro puede editar el tipo de datos del parámetro e indicar un valor para este con una expresión XPath.
Una vez que haya terminado de editar la instrucción SELECT haga clic en Modificar instrucción SELECT para terminar.
Instrucción generada con XPath
También puede generar una instrucción SQL con una instrucción XPath, que por lo general sería una cadena de texto o una concatenación de varias. Por ejemplo:
"SELECT * FROM Books WHERE ID = :iD"
concat("SELECT * FROM ", $XML1/MediaList/DBSelection, " WHERE ID = :iD")
Una vez que haya terminado de editar la instrucción SELECT haga clic en Generar una instrucción SELECT para terminar.




