Etiqueta

2 de junio de 2014

jsClient: El objeto SQL ($fetch() y $insert())

$fetch()

Do oSQL.$fetch(selectfetchid,iFetchCap) Returns id

Obtiene cero o más filas del conjunto de resultados generado mediante un $selectfetch() anterior.

  • selectfetchid es el id retornado por el $selectfetch().
  • iFetchCap es el número de filas devueltas.

En este caso, el ID devuelto será el mismo. Al finalizar, se invocará el método $sqldone() pasando los siguientes parámetros:
  • El ID de la solicitud (el mismo que retorno el $selectfetch)
  • Una lista conteniendo cero o más filas del conjunto de resultados.

$insert()

Do oSQL.$insert(cSQL,listorrow) Returns id

Inserta una o más filas en una tabla de la base de datos.

  • cSQL es la instrucción de inserción. Puede ser escrita a mano, u obtenida como resultado de la ejecución de un $insert sobre una clase “schema”. cSQL puede contener referencias a variables mediante la notación @[$nombre_columna], donde nombre_columna es el nombre de una columna incluida en listorrow.
  • listorrow, es una variable de tipo “list” o “row” que contiene los datos a insertar.

Al finalizar, se invocará el método $sqldone() pasando los siguientes parámetros:
  • El ID de la solicitud (el mismo que retornó el $insert()).

Ejemplo:
Do oSQL.$insert("INSERT INTO producto (nombre,cantidad) VALUES (@[colNomb],@[colCant])”,lBindVars) Returns IDinsert

29 de mayo de 2014

jsClient: El objeto SQL ($selectfetch())

$selectfetch()

Do oSQL.$selectfetch(cSQL,lBindVars,iFetchCap) Returns id

Ejecuta una sentencia y retorna un conjunto de resultados (normalmente de un “select” o un “select distinct”). 

  • cSQL
  • Es la declaración. Ya sea que la hayamos escrito o bien proporcionada mediante la ejecución de un $select/$selectdistinct sobre una clase “schema” o “query”. cSQL puede contener variables en la forma @[nombre_columna], donde nombre_columna es el nombre de una columna indicada en lBindVars. 
  • lBindVars
    Es una variable de tipo “row” con las columnas que van a ser referenciadas mediante marcadores “bind” en la sentencia SQL.
  • iFetchCap
    Permite indicar el número máximo de filas que serán devueltas (si es kFetchAll se recuperarán todas las filas posibles).

Naturalmente lBindVars puede contener columnas a las que no se hace referencia en el texto o sentencia SQL. En éstos casos, sólo las columnas referenciadas mediante marcadores “bind” serán leídas. Al finalizar, se invocará el método $sqldone() pasando los siguientes parámetros:

  • El ID de la solicitud (el mismo que retorno el $selectfetch) 
  • Una lista conteniendo cero o más filas del conjunto de inicial de resultados.

En este punto, será responsabilidad del desarrollador copiar y/o visualizar los resultados sobre el “remote-form” del modo que desee, a fin de mostrar los resultados al usuario.

Ejemplo 1:

Do iList.$definefromsqlclass('myQuery')
Do oSQL.$selectfetch($clib.$queries.myQuery.$select,iList,100) Returns id

Ejemplo 2:

Do oSQL.$selectfetch('select * from Tabla1 where edad = @[edad]’,lBindVars,100) Returns id

28 de mayo de 2014

Nueva versión Omnis Studio 6.1

TigerLogic anuncia el lanzamiento de Omnis Studio versión 6.1 con interesantes novedades centradas principalmente en el desarrollo web y aplicaciones móviles. Omnis Studio 6.1 incluye mejoras en jsClient. Código ejecutable en modo 64 bits, soporte para RESTful Web Services y otras que resumimos a continuación.


64-bit Omnis


El ejecutable ha sido rediseñado para su uso con procesadores de 64 bits estando inicialmente disponible para Omnis Server y para todas las plataformas soportadas. Las actuales versiones 32 bits, incluyendo el SDK, runtime, y server, seguirán estando disponibles para Windows y OSX, aunque ya se ha anunciado el lanzamiento de la versión  64 bits del SDK.

Servicios Web (Web Services)


Se añade soporte para REST, un modelo de Web Service que está siendo muy popular. El Web Service RESTful es identificado mediante un URI, el cliente interactúa con el recurso a través de peticiones y respuestas HTTP. El nuevo componente Web Services proporcionará tanto el cliente como el servidor con soporte RESTful. Se ha añadido un nuevo plug-in para permitir que el servidor de aplicaciones Omnis publique un servicio web RESTful.

Componentes JavaScript


Se han añadido más controles JavaScript para dotar a las aplicaciones de una apariencia "nativa", es decir adaptada a las distintas plataformas y/o dispositivos en los que se ejecuta su aplicación Omnis. Tanto el estilo como su apariencia son definidos mediante controles CSS adaptables a cada plataforma. Estos nuevos componentes JavaScript podrán localizarse dentro de un grupo específico en el "Component Store". Además de esto descubriremos algunas mejoras generales de rendimiento al trabajar con jsClient.

Utilidad "Screen Size Sync"


Tras la creación de cualquier "remote form", los campos y otros controles en el contenidos podrán re-colocarse para aparecer en el tamaño y posición correctas según las posibles orientaciones de pantalla, incluyendo entornos de escritorio, tablets y smartphone. Omnis Studio 6.1 permite configurar y guardar automáticamente los componentes según los diferentes diseños localizados en el mismo "remote form", lo cual significará un más que considerable ahorro de tiempo a la hora de construir nuestras aplicaciones, logrando a la vez que éstas resulten más consistentes.

Otras mejoras


  • Una nueva ventana de vista previa para las salidas impresas, permite al usuario seleccionar el texto y de recorrer el informe mediante una lista de páginas situada al margen de la ventana. 
  • El número máximo de líneas permitidas en un método Omnis se ha aumentado de 1.024 a 256.000.
  • Se permite la comparación de variables de tipo binario, objeto y referencia a objeto, en el código. (las variables usadas a cada lado del operador debe ser del mismo tipo)
  • Los separadores de idioma ($separators), ahora pueden ser guardados para cada hilo, en caso de usarse un servidor de aplicaciones multi-hilo.
  • Los "object reference" se borran automáticamente liberando espacio en la memoria.