Etiqueta

22 mayo 2014

jsClient: Bases de datos soportadas

La aplicación-esqueleto o "wrapper" jsClient incluye soporte integrado para SQLite y UltraLite de Sybase, en ambos casos se proporcionan métodos ejecutables desde el lado del cliente, que permiten un acceso total SQL sobre los datos almacenados en el propio dispositivo móvil. El acceso a éstas bases de datos locales, sólo podrá realizarse en aplicaciones de tipo “Serverless” ya que pueden ser ejecutadas en modo “off-line”.

Todas las interacciones entre el jsClient y la propia aplicación será asíncrono, lo cual cambia muy significativamente el modo en que estamos acostumbrados a usar el código SQL en Omnis.

Las clases “Schema” y “Query”

Cuándo se trata de métodos que sólo pueden ser ejecutados del lado del cliente, el propio editor de métodos restringe el uso de los $definefromsqlclass, sólo podrán usarse con una “query” o con un “schema” como primer argumento, permitiéndose (opcionalmente) seleccionar un subconjunto de nombres de columnas, mediante el uso de dos o más argumentos:

Do listOrRow.$definefromsqlclass(‘SchemaName’)

Tipos de datos

Tras crear variables de tipo “row” podrá agregar columnas, pero es importante que los tipos de datos de éstas coincidan con el tipo de datos definido en la propia base de datos.

Los métodos que sólo pueden ser ejecutados del lado del cliente, sólo permiten el uso de un tipo de variable, el tipo “var”, que generalmente es interpretado como tipo “Character”, por lo que teniendo en cuenta ésta circunstancia, es más seguro agregar nuevas columnas a una “row” manualmente, usando la función:

Do lRow.$cols.$add(,,,[])

por ejemplo:

Do lRow.$cols.$add('Edad',kInteger,kShortint)

No hay comentarios: