Altova MobileTogether Designer

Editar datos de la base de datos

Inicio Anterior Inicio Siguiente

Este apartado contiene las siguientes secciones:

 

Acerca de ConjuntoFilaOriginal

Editar los datos de la BD en la tablas y otros controles

Actualizar, insertar, anexar y borrar nodos

La acción "Ejecutar BD" y la variable \$MT_DBExecute_Result

Clave primaria en MobileTogether Designer

 

Acerca de ConjuntoFilaOriginal

Para poder editar y guardar datos la estructura de la fuente de página debe incluir un elemento OriginalRowSet, que es una copia del elemento RowSet. Los datos originales se guardan en el elemento OriginalRowSet, mientras que los datos que se han editado se guardan en el elemento RowSet. Cuando se guarde la fuente de página, se calculará la diferencia que existe entre las dos estructuras (OriginalRowSet y RowSet) y la fuente de página se actualizará en función de esta diferencia. Si la modificación se realiza correctamente, los datos modificados se copian en OriginalRowSet para que OriginalRowSet contenga los datos de BD recién guardados y el proceso de modificación se puede repetir.

 

Tenga en cuenta estos puntos:

 

El elemento OriginalRowSet no se crea por defecto en la estructura de la fuente de página de la BD. Para crearlo haga clic con el botón derecho en el nodo raíz de la fuente de página y active el comando Crear OriginalRowSet.

El comando Crear OriginalRowSet se habilita para nodos raíz de tipo BD (\$DB). Se trata un comando de conmutación que crea/elimina una estructura de datos OriginalRowSet que contiene los datos originales de la fuente de página.

Hasta que los datos modificados se guarden en la BD, los datos de BD originales se conservan en la estructura OriginalRowSet. Esto garantiza que los datos de BD originales estén disponibles en la estructura.

Puede usar la función XPath mt-db-original-row para recuperar los datos originales de una fila de BD que se ha modificado pero no se ha guardado aún.

 

 

Editar datos de la BD de las tablas y de otros controles

Para crear un control en el que se puedan editar los datos de la BD, debe de realizar los siguientes pasos:

 

Utilice un control que sea editable por el usuario final, como por ejemplo un cuadro combinado o el campo "editar". Un control "etiqueta", por ejemplo, no es editable. Si se una tabla para generar filas de repetición, agregue controles editables dentro de las celdas de la tabla. Consulte las secciones Editar tabla "Oficinas" del tutorial Base de datos-y-gráficos para consultar ejemplos a este respecto. Además puede consultar la descripción de cómo trabajar con tablas.

Cree un enlace de origen de la página al nodo de la fuente de página del control que se va a editar. Para hacer esto arrastre el nodo de fuente de página al control.

Si usa una tabla con filas que se repiten, use la opción que incluye automáticamente los controles Anexar/Eliminar cuando se haya creado la tabla (consulte la captura de pantalla siguiente)

Si usa una tabla con filas de repetición, use la opción para incluir de forma automática "Anexar/Eliminar controles" cuando se crea la tabla (consulte la captura de pantalla siguiente).

Click to expand/collapse

La ventaja de usar una tabla con filas de repetición que están enlazadas a elementos Fila de repetición es que cuando se agrega la fila de una tabla, una fila de la BD también se agrega de forma automática. Para obtener más información, consulte la descripción de cómo trabajar con tablas. Por ejemplo, consulte el tutorial Bases de datos-y-gráficos y los archivos de ejemplo de la BD del MobileTogether Designer.

 

 

Actualizar, insertar, anexar y borrar nodos

Las acciones "Actualizar datos" permite que se editen los nodos de las BDs cuando se desencadena una página o el evento del control.

 

Actualizar nodo(s): Actualiza uno o más nodos, como la columna de la BD, con el valor/es que se generan o se obtienen con la expresión XPath de la acción.

Insertar nodo(s): Inserta uno o más nodos, como las filas de la BD, antes del nodo seleccionado con  la expresión XPath de la acción. También se puede definir la estructura y los contenidos del nodo insertado.

Anexar nodo(s): Anexa uno o más nodos, como las filas de la BD, como el primer o el último elemento secundario de un nodo seleccionado por la expresión XPath de la acción.

Borrar nodo(s): Borra uno o más nodos, tales como las filas de la BD, que se especifican con la expresión XPath de la acción.

 

Nota:Estas acciones se llevan a cabo en la estructura jerárquica de datos local. La estructura jerárquica en "árbol" de los datos que se modificado ha de volver a guardarse de nuevo en la BD para que las modificaciones del usuario final se pasen a la BD.

 

 

La acción "Ejecutar BD" y la variable \$MT_DBExecute_Result

La acción "Ejecutar BD" le permite usar potentes instrucciones SQL, que incluyen INSERTAR, ANEXAR, ACTUALIZAR y BORRAR para modificar una BD. Es diferente de las acciones mostradas en el apartado anterior de una forma importante: Las modificaciones que se han creado por las instrucciones SQL de Ejecutar BD se guardan inmediatamento en la BD. En el caso de las acciones que se muestran en el apartado anterior se debe usar un mecanismo "Guardar" para guardar las modificaciones en la BD.

 

Tras ejecutar acción "Ejecutar BD" se ejectuta una instrucción SQL que almacena el resultado en una variable conocida como \$MT_DBExecute_Result. Esta variable se puede usar posteriormente en expresiones XPath en cualquier lugar dentro del proyecto. Consecuentemente, se pueden seleccionar las estructuras y los datos de una BD (basándose opcionalmente en parámetros)

 

 

Claves principales en MobileTogether Designer

Las claves principales de las bases de datos suelen ser de incremento automático. Si este es el caso y se añade una fila nueva a una tabla, la columna de clave principal de la fila que se añade se incrementa automáticamente. En MobileTogether Designer cuando se recupera una tabla, la clave principal y la información de incremento automático se recuperan automáticamente y aparecen en el panel Fuentes de página (imagen siguiente).

MTDDBCDataSrcDB1

Si la recuperación automática de esta información no funciona, el menú contextual de los nodos de la estructura tendrán comandos de conmutación que permitirán anotar los nodos correctamente (imagen siguiente).

MTDDBPKAutoIncrement

Si la columna de clave principal no es de incremento automático, deberán generarse valores de clave principal automáticamente para las filas anexadas con ayuda de una expresión XQuery. Esto se debe a que las columnas de clave principal no se pueden editar. La expresión XQuery se inserta haciendo clic con el botón derecho en el nodo de clave principal y eligiendo el comando Garantizar que existe al cargar (valor XPath) del menú contextual. En el ejemplo siguiente puede ver que se genera un nuevo valor para la clave principal @id con ayuda de esta expresión XQuery:

 

let \$all := \$DB1/DB/RowSet/Row/@id

let \$ids := remove(\$allindex-of(\$all""))

let \$id := if (empty(\$ids)) then 1 else max(\$ids) + 1

return \$id

MTDDBCDataSrcDB1

 

© 2017-2023 Altova GmbH