Etiqueta

5 de junio de 2014

jsClient: El objeto SQL ($delete() y $update())

$delete() 

 

Do oSQL.$delete(cSQL,row) Returns id
Elimina cero o más filas de una tabla de la base de datos.

  • cSQL es la instrucción delete. La cual puede ser escrita a mano, u obtenida como resultado de la ejecución de un $delete() sobre una clase “schema”. cSQL puede referenciar variables en la forma @[nombre_columna], donde nombre_columna es el nombre de una columna incluida en row.
  • row, contiene los valores que podrán ser referenciados mediante notación “bind”.

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

 

$update() 

 

Do oSQL.$update(cSQL,newRow,oldRow) Returns id
Actualiza cero o más filas de una tabla de la base de datos.

  • cSQL es la instrucción de actualización. Podrá ser escrita a mano, u obtenida como resultado de la ejecución de un $update sobre una clase “schema”. cSQL permite referenciar variables en la forma @[$nombre_columna], donde nombre_columna es el nombre de una columna contenida en newRow o en oldRow. Si la variable es referenciada en la cláusula SET, se esperará que la columna esté incluida en newRow, pero si se está usando en la cláusula WHERE, deberá estar incluida en oldRow.
  • newRow, es la row que contiene los nuevos valores y que podrán ser referenciados mediante notación “bind”, es decir, los que se especifican en la cláusula SET.
  • oldRow, es la row que contiene los valores anteriores y que pueden ser referenciados mediante notación “bind”, es decir, los que pueden ser usados en la cláusula WHERE.

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

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