2009-12-10 11 views
9

Ich verstehe, dass HTML5 „localstorage“ ist ein Schlüssel: Wertspeicher aber ich frage mich, ob es eine Javascript-Bibliothek zur Verfügung, die ein mehr bietet SQL-ish API?HTML5 localstorage & SQL

+0

[Dieser Beitrag] [1] könnte für Sie hilfreich sein. [1]: http://stackoverflow.com/questions/14260127/is-there-a-free-lib-accessing-to-html5-database-sqlite –

Antwort

7

Check out Will HTML5 be SQL-free? und DOM Storage: a Cure for the Common Cookie für einige Links und Meinungen.

+0

Gute Lesung in diesen Links, danke! Ich werde auch nur einen Artikel hinzufügen, der mit einem verlinkt ist, der einen guten Einblick in die Verwendung von SQL für den Browserspeicher gegeben hat> http://blog.vlad1.com/2009/04/06/html5-web- storage-and-sql – JeroenEijkhof

1

HTML5 lokale Datenbank-Speicher kommt mit einer SQL-Schnittstelle standardmäßig, wenn ich mich nicht irre

Hier ist ein Webkit Post mit einigen Beispielen: http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/

Derzeit Sie Chrome Kräfte Gears zu verwenden, die ist etwas anders, aber immer noch SQL-basiert. Zukünftige Versionen von Chrome folgen jedoch der HTML5-Spezifikation.

+0

4.11 See. Client-seitiger Datenbankspeicher - http://www.whatwg.org/specs/web-apps/2007-10-26/#sql –

+0

scheint eher "experimentell" ... – jldupont

4

W3C Database specification sagt:

Benutzerprogramme die SQL dialect von SQLite 3.6.19 unterstützt implementieren müssen.

Ab sofort mindestens Google Chrome unterstützt SQL-Dialekt. Ich habe checked mich.

+0

Ich benutze 5.0.342.1 dev-Version von Chrome. –

+1

Um November 2010 lautet das Dokument jetzt "Dieses Dokument war auf der W3C Recommendation-Spur, aber die Spezifikationen wurden gestoppt." Das IndexedDB-Dokument löst es jetzt ab - http://www.w3.org/TR/IndexedDB/ –

3

Sie sollten HTML5-Datenbankspeicher verwenden (SQL unterstützt Transaktionen). ein Tutorial hier: http://www.html5rocks.com/tutorials/webdatabase/todo/

+0

Zeit und Flut waschen sich über HTML5. Es scheint, als wäre WebDatabase out und indexDB ist in.Hier ist der aktualisierte Artikel des gleichen Autors: http://www.html5rocks.com/en/tutorials/indexeddb/todo/ – EBarr

1

Sie können Alasql versuchen. Es unterstützt Standard-SQL-Sprache und hält Daten im Speicher oder localStorage. Es gibt mehrere Möglichkeiten, Alasql mit localStorage zu verwenden. Im Folgenden sehen Sie, wie Sie eine localStorage-Datenbank mit dem Namen "Atlas" erstellen, sie an Alasql als "MyAtlas" anhängen und dann mit Tabellen wie jeder anderen Datenbank arbeiten können. Standardmäßig verwendet Alasql den AUTOCOMMIT ON-Modus, sodass Daten nach jeder SQL-Anweisung in localStorage gespeichert werden.

Dies ist ein Beispiel:

alasql('CREATE localStorage DATABASE IF NOT EXISTS Atlas'); 
alasql('ATTACH localStorage DATABASE Atlas AS MyAtlas'); 
alasql('CREATE TABLE IF NOT EXISTS MyAtlas.City (city string, population number)'); 
alasql('SELECT * INTO MyAtlas.City FROM ?',[[{city:'Vienna', population:1731000}, 
    {city:'Budapest', population:1728000}]]); 
var res = alasql('SELECT * FROM MyAtlas.City'); 

Wiedergabe mit dieser Probe in jsFiddle. Führen Sie dieses Beispiel zwei oder drei Mal aus (oder laden Sie die Seite neu), und Sie werden sehen, wie die Anzahl der Zeilen in der Tabelle wächst.