Frage

Ist es möglich, eine SQLite -Datenbank in einer JavaScript -Anwendung von Windows 8 (WinRT) zu verwenden?

Was ich erreichen möchte, ist, eine SQLite -Datenbank herunterzuladen und diese vor der Verwendung in lokalem Speicher zu speichern. Ich glaube, dass eine Form des lokalen Speichers für JavaScript -basierte WinRT -Anwendungen zur Verfügung steht, aber ich möchte wissen, ob SQLite in diesem Szenario verwendet werden kann.

Mir ist auch bewusst, dass die .NET -Implementierung von SQLite einige Win32 -Anrufe verwendet, und ich glaube, diese werden durch den Windows8 App Cerififcation -Prozess nicht zulässig.

War es hilfreich?

Lösung

JavaScript verfügt über HTML5 IndexedDB verfügbar.

Bei SQLite können Sie es verwenden, vorausgesetzt, Sie wickeln es zuerst als WinRT -Komponente ein, die aus JavaScript, z. B. mit C ++/CX, konsumiert werden kann. Die API -Oberfläche ist nicht so groß, also ist es sicherlich möglich. Ich habe vor einiger Zeit mit der Zusammenstellung von SQLite für Metro experimentiert, und es gab nur wenige Win32 -API -Anrufe, die im App -Container nicht verfügbar waren und ersetzt werden mussten - nichts Wichtiges.

Andere Tipps

Wir kreierten SQLite3-WinRT dafür. Es ist ein WinRT -Komponenten -Wrapper für SQLite, der die App -Zertifizierung von Windows Metro Style übergibt. Es enthält auch eine benutzerfreundliche JavaScript-Abstraktion.

Ja, die SQLite -Datenbank wird jetzt in Windows 8 RTM unterstützt. Sie können jetzt alles herunterladen (Windows 8, Tools, Muster) von Windows Dev Center.

Ja, Sie können SQLite in WinRT -Maschine verwenden. Befolgen Sie einfach die folgenden Schritte

  1. Erstellen Sie ein neues Projekt.
  2. Gehen Sie zu Referenzen und klicken Sie mit der rechten Maustaste auf die Referenzen dort. Verwalten Sie Nupackage. Klicken Sie darauf.
  3. In der Online-Suche nach SQLite-Net-Paket in diesem Paket.
  4. Klicken Sie erneut mit der rechten Maustaste auf die Referenzen und klicken Sie auf Akten hinzufügen. Dort erhalten Sie im Abschnitt Erweiterungsabschnitt zwei unkontrollierte Referenzen MS Visual C ++ Laufzeit und SQLite Windows Runtime. Überprüfen Sie sowohl die Referenz als auch die Referenzen. Es werden zwei CS -Dateien in Ihrem Lösungs -Explorer.
  5. Laden Sie nun die Zip -Datei von herunter https://github.com/doo/sqlite3-winrt Es bietet Ihnen die Wrapper -Sache, um CS -Dateien in Ihrem Projekt zu verwenden.
  6. An jedem Ort entpacken.
  7. Gehen Sie jetzt im Projekt zu Datei-> Add-> vorhandenes Projekt-> und durchsuchen Sie Ihren Unzip-Standort. Dort erhalten Sie eine Datei sqlite3Component.vcxproj im SQLite3Component. Fügen Sie diese Datei hinzu.
  8. Jetzt ist das Wrapper -Projekt in Ihrem Projekt enthalten.
  9. Jetzt erhalten Sie in Ihren unzippierten Dateien SQLite3JS -Ordner diesen Ordner und fügen Sie in Ihren Lösungs -Explorer ein.
  10. Jetzt sind Sie bereit, SQLite in Ihrem Projekt zu verwenden.
  11. Versuchen Sie, Ihr Projekt zu erstellen. Es wird zwei Fehler angezeigt, dass die Datei Winres.h nicht vorhanden ist. Gehen Sie dafür auf Fehler auf, um es zu winresrc.h umbenennen und es erneut erstellen. Jetzt wird es aufbauen und Sie können SQLite in Ihrem Projekt verwenden.
    1. Geben Sie die SRC der JS -Datei wie SQLite3js js sqlite3.js auf der HTML -Seite, auf der Sie SQLite verwenden, die SRC der JS -Datei wie SQLite3Js js sqlite3.js an, um SQLite zu verwenden. Hier gebe ich Ihnen ein Beispiel, um SQLite in JS // zu verwenden. Dadurch wird der Datenbankname db.sqlite erstellt und versucht, einen Tabellennamennotizen zu erstellen. Wenn es nicht da ist var dbpath = windows.storage.applicationData.current.localFolder.Path + ' db.sqlite'; Sqlite3js.openasync (dbPath) .then (Funktion (db) {return db.runasync ('Tabellennotizen erstellen (ID -Text -Grundschlüssel, Notizen Text)'); Ich hoffe, all dieser Schritt wird Ihnen helfen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top