Skip to content

Pequeño script para crear querys (CRUD) a partir de objetos

Notifications You must be signed in to change notification settings

fortil/websql-query

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebSQL Query

Es un pequeño script que permite manejar WebSQL estilo un ORM

Contenido

En la carpeta js se encuentra el archivo para formato JavaScript.

En la carpeta ts se encuentra el archivo para TypeScript.

Ejemplo e uso


(function() {

  var db = SQL({ name: 'DataBase' });

  var Table = null;

  db.createTable({ tableName: 'ejemplo', fields: ['id', 'campo', 'date'] }, function (res) {

    Table = res;

    res.insertValues([
              { id: 1, campo: 'Ejemplo ', date: new Date().getTime() },
              { id: 2, campo: 'Ejemplo ', date: new Date().getTime() },
              { id: 3, campo: 'Ejemplo ', date: new Date().getTime() },
              ]);

    res.insert({ id: 4, campo: 'Ejemplo 2', date: new Date().getTime() });
    res.insert({ id: 5, campo: 'Ejemplo 2', date: new Date().getTime() });
    res.insert({ id: 6, campo: 'Ejemplo 2', date: new Date().getTime() });
    res.insert({ id: 7, campo: 'Ejemplo 3', date: new Date().getTime() });
    res.insert({ id: 8, campo: 'Ejemplo 3', date: new Date().getTime() });
    res.insert({ id: 9, campo: 'Ejemplo 3', date: new Date().getTime() });

    // Actualiza la fila con id 9
    res.update({ id: 9 }, { campo: 'Ejemplo 4', date: new Date().getTime() });
    // Obtiene 3 valores
    res.getVal({ campo: 'Ejemplo 3' });
    // Obtiene todos los valores en un array
    res.getVal();
    // Elimina una fila
    res.deleted({ id: 1, campo: 'Ejemplo ' });
    // Elimina las filas con id 2 y 3
    res.deleted({ id: { OR: [2, 3] } });
    // Elimina las filas con id 4, 5 y 6
    res.deleted({ campo: 'Ejemplo 2' });
    // No elimina ninguna celda
    res.deleted({ id: { AND: [7, 8] } });
    // Elimina las filas con id 7 y 8, la fila con id queda ya que se actualizó a "Ejemplo  4"
    res.deleted({ id: { OR: [4, 5, 6, 7, 8, 9] }, campo: 'Ejemplo 3' });
  });

  // O puedo llamarlo desde otro lado con el objecto
  // Y además todas las funciones tienen callback
  setTimeout(function(){

    // Se inserta una nueva fila, puedo pasarle la función success solamente
    Table.insert({ id: 10, campo: 'Ejemplo 4', date: new Date().getTime() }, function(tx, res){

      console.log('Se insertó '+ res.rowsAffected +' celda nueva ');

    });

    // O pasarle un atributo null
    Table.deleted({ campo: 'Ejemplo 4' }, function(tx, res){

      console.log(" Se eliminaron " + res.rowsAffected + " celdas");

    }, null )

    // Esto dará un error porque no existe una fila con campo "campo1"
    Table.deleted({ campo1: 'Ejemplo 4' }, null, function(tx, err){

      alert(
        "Código del error: "+ err.code +"\n"+
        "Mensaje de error: "+ err.message
        );

    })

  },5000)


})();

TODO

  • Documentación

About

Pequeño script para crear querys (CRUD) a partir de objetos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published