6
votes

HTML / JS en tant qu'interface avec la base de données SQLite locale

J'écris une application de base de données assez simple que je veux être stockée localement (par opposition à la recherche d'une base de données distante). J'aime HTML / JavaScript pour la conception d'interfaces, et ils sont croisés (tout le monde a un navigateur!), Alors j'aimerais vraiment écrire une page Web comme frontend. Aucune interaction client / serveur ne doit être impliquée - je veux juste que les utilisateurs puissent interagir avec la base de données à l'aide d'un navigateur, au lieu d'un programme natif.

Cependant, la seule façon de voir pour accéder aux bases de données à partir d'un navigateur utilise quelque chose comme WebSQL ou indexeddB. Toutefois, ils abstraitent le processus de gestion du fichier de base de données lui-même et de le stocker dans des paramètres utilisateur quelque part. Je veux distribuer le fichier de base de données lui-même avec l'application.

En bref: Y a-t-il un moyen d'utiliser HTML / JavaScript pour modifier un fichier de base de données SQLite local? Ou est-ce que HTML n'est pas l'outil que je devrais utiliser pour ce type d'application?

éditer: éventuellement pertinent


2 commentaires

Javascript n'a aucun moyen d'écrire dans un fichier local. Vous pouvez expédier un fichier JS pour stocker les valeurs la première fois. Avez-vous considéré Adobe Air sur lequel vous pouvez développer à l'aide de HTML / JS et d'avoir accès au système de fichiers?


Je n'ai pas eu beaucoup à faire avec l'air avant, je vais le chercher. Je tiens à réduire autant que possible les dépendances, mais ne pensez pas que je pourrai le faire avec Pure HTML / JS.


3 Réponses :


3
votes

Si vous voulez vraiment juste une application côté client, vous devriez vraiment envisager d'utiliser HTML5 Tehnologies (WebSQL, DB indexé). Une bonne lecture est ici: HTML5 Docteur . Vous devrez exporter la base de données quelque part ou laisser l'utilisateur exporter la base de données et lorsque l'utilisateur recharge la page de la page de la base de données de reconnecter. Exemple: Exporter WebSQL vers un fichier CSV .


2 commentaires

J'ai trouvé beaucoup de documentation sur la manière d'exporter une base de données, mais y a-t-il un bon moyen d'importer de CSV? Ensuite, par exemple, la première fois que l'application charge, je pouvais importer toutes les données de CSV locales dans la base de données du navigateur.


HMM Vous pouvez essayer d'utiliser ce parser Purbayubudi.WordPress.com/ 2008/11/09 / ... , mais je recommanderais d'exporter et d'importer votre base de données à l'aide de XML car est plus simple w3schools.com/ajax/ajax_xmlfile.asp



4
votes

C'est ce que j'ai fini par faire:

comme référence ici , vous pouvez utiliser Python pour créer un serveur Web local. Ce Tutoriel donne une infrastructure de base pour le gestionnaire de serveur. Je devais faire face à des problèmes, éventuellement causés par Python 3 ou en utilisant Chrome pour accéder à ma page locale. P>

My Get Handler fonction a fini par ressembler à ceci: P>

import sqlite3

def get_categories():
    con = sqlite3.connect('my.db')
    c = con.cursor()
    c.execute('''SELECT * FROM Categories;''')
    return [cat[0] for cat in c.fetchall()]

GETHANDLERS["categories"] = get_categories


0 commentaires

1
votes

Vous pouvez utiliser le connecteur SQLITE3 et vous connecter à un fichier de base de données local à partir d'une application HTA.

Voici le connecteur (il faut enregistrer la DLL comme décrit sur la page)

https://www.assembla.com/spaces/litex/documents < / p>

Vérifiez l'application HTA DEMO dans le fichier ZIP (DLL est dans le dossier \ LITEX \ bin, HTA est dans le dossier de script ..)


0 commentaires