websql used tutorial the example database html5

database - used - Almacenamiento de base de datos HTML5(SQL lite)-algunas preguntas



web sql database html5 example (5)

Al usar PersistenceJS, existe una API persistence.reset que borrará la base de datos. Sitio PersistenceJS

Para fines de desarrollo / prueba, puedes ver contenido y eliminar webSQL, IndexedDB, cookies, etc., buscando tu nombre de dominio en esta URL en Chrome:

chrome://settings/cookies

Allí, puede eliminar todo el almacenamiento de un dominio o solo ciertas entidades de almacenamiento local. Sí, la URL implica solo ''cookies'', pero la interfaz de esta URL incluye todos los tipos de almacenamiento fuera de línea.

Sería genial, creo que si la interfaz de las herramientas para desarrolladores de Chrome tuviera la capacidad de hacer clic con el botón derecho y eliminar una entidad de almacenamiento de datos en la pestaña Recursos junto con la inspección del contenido. Pero por ahora, todo lo que sé es la URL de configuración / cookies.

Hy allí,

No puedo encontrar suficientes recursos para principiantes en la web sobre ejemplos de uso de almacenamiento de base de datos HTML5 (CRUD)

Estoy abriendo (creando) mi DB de esta manera:

var db; $(document).ready(function() { try { if (!window.openDatabase) { alert(''Not Supported -> Please try with a WebKit Browser''); } else { var shortName = ''mydatab''; var version = ''1.0''; var displayName = ''User Settings Database''; var maxSize = 3072*1024; // = 3MB in bytes 65536 db = openDatabase(shortName, version, displayName, maxSize); } } catch(e) { if (e == 2) { alert("Invalid database version."); } else { alert("Unknown error "+e+"."); }return; } });

PREGUNTA 1: ¿Cuántas bases de datos puedo crear y usar en un dominio? PREGUNTA 2. Cómo eliminar (soltar) una base de datos. -> No he descubierto esto todavía.

Para crear consultas sql utiliza transacción:

function nullDataHandler(transaction, results) { } function createTables(db) { db.transaction(function (transaction) { //first query causes the transaction to (intentionally) fail if the table exists. transaction.executeSql(''CREATE TABLE people(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL DEFAULT "John Doe", shirt TEXT NOT NULL DEFAULT "Purple");'', [], nullDataHandler, errorHandler); }); }

PREGUNTA 3: ¿Cómo falla la transacción anterior si existe una tabla? ¿Está el nullDataHandler involucrado para hacer esto? ¿Dónde en la web hay documentación que explica la API executeSql? Argumentos?

Gracias


Encontré los siguientes tutoriales de WebSQL útiles para las operaciones básicas de CRUD, ya que contenían ejemplos, y expliqué lo que estaba haciendo el código:

Y los siguientes enlaces para SequelSphere (una alternativa de base de datos relacional de JavaScript JavaScript HTML5 para WebSQL que funciona en todos los navegadores, almacenando datos en LocalStorage e IndexedDB):


Es compatible con iOS safari, chrome y alguna versión más reciente de opera .... aún no ha sido adoptado por IE y Firefox, eso es todo ... lo que más se puede pedir que db local en el navegador que tiene un sistema de db relacional. ... así que puede consultarla fácilmente y manejar datos complejos ... lo cual es muy difícil en sistemas basados ​​en vales clave ...

Recuerdo que leerlo incluso soporta hasta un gb . No estoy seguro ...

Nota:

1) Me gustaría mencionar que hay un IDE llamado Dashcode que nos permite crear aplicaciones web que parecen iOS nativas. Incluso en este caso también se usa SQL web.

2) en realidad web SQL es una implementación de SQLite en navegadores.

3) SQLite es el más preferido tanto en iOS como en Android como db para el código nativo.

Los inconvenientes de SQLite:

La falta de soporte de concurrencia pero que no es un problema en el navegador, ya que será utilizado por un solo usuario a la vez ... este es un caso también en dispositivos móviles.

Conclusiones:

Web Sql está abandonado por w3, eso es algo triste, así que tenemos que explorar otras opciones.


La especificación que estás buscando es Web SQL Database . Una lectura rápida sugiere:

  1. No hay límite, aunque una vez que sus bases de datos aumentan más allá de cierto tamaño (5 MB parece ser el valor predeterminado), el navegador le pedirá al usuario que permita más espacio.
  2. No hay forma, en la especificación actual, de eliminar bases de datos.
  3. La función executeSql () toma un argumento de devolución de llamada de error opcional.

HTML5 Doctor también tiene una buena introducción.

Sin embargo, en el futuro, recomendaría mirar la base de datos indexada . El Web SQL ha sido esencialmente abandonado ya que no existe un estándar para SQL / SQLite. Incluso Microsoft ha respaldado la base de datos indexada. Ver Consenso emerge para el estándar clave de la aplicación web .


CREATE TABLE IF NOT EXISTS table_name

creará una tabla table_name solo si no existe.