Envoyé par : thx1138
Date : 18/11/2010 18:02
Bonjour,
j'ai un problème avec SQLite : database table is locked
J'ai un écran qui affiche des fiches.
Quand je passe d'une à l'autre je remplie l'écran avec les données de la fiche ainsi qu'un tree venant d'une table2 liée (ca c'est ok).
Je peux ajouter/modifier les données du tree. Je le fais via un window.openDialog(). Celui ci s'ouvre vide en cas d'ajout et remplie avec les bonnes données en cas de modification (c'est ok aussi)
Les problèmes son les suivant : Quand je veux valider ma fenêtre, il m'affiche un message d'erreur de table:locked (2 fois sur 3). Même lors d'un ajout, ce qui est bizarre car il ne lit pas ds la table2 lors de l'ouverture de le fenêtre en cas d'ajout.
Maintenant, si je ne charge pas les données ds le tree de l'écran principale y'a plus d'erreur, pourtant je met bien un req.reset() après les select.
Si je rempli la zone de l'écran principale via un template, y'a pas de soucis... mais j'ai l'habitude de le faire via le DOM.
J'utilise pourtant le même script dans tout le programme avec plusieurs tables liées et je n'ai jamais ce message d'erreur
Viens de tester à un autre endroit également et c'est pareil à chaque fois avec une fenêtre popup ?
Quid ?
Envoyé par : Raphael
Date : 19/11/2010 06:14
Je fais des applis du même type en sqlite3 :
Tree dans la fenêtre principale et modif dans une fenêtre qui s'ouvre (maintenant je ne me rappelle plus si les ai mises modales ou pas).
Ca marche très bien, mais je n'utilise pas DOM mais des treeview pour l'affichage, que je trouve beaucoup plus pratiques et surtout plus performants pour de très gros tree.
Envoyé par : jérôme
Date : 19/11/2010 13:49
Salut à tous, pourrais-tu nous montrer un bout de code car moi aussi j'utilise sqlite3 et je n'ai aucun problème avec les templates ni avec le statement.reset(). Peut-être as-tu une fonction que tu utilises avant dans ton script et qui ne réinitialise pas ?
Jérôme
Envoyé par : thefab
Date : 19/11/2010 14:44
Salut,
Perso j'ai aussi rencontré des problèmes avec SQLite que j'ai réussi à résoudre en faisant:
statement.reset(); statement.finalize();
après mes requêtes, je crois que reset ne suffit pas ?? A tester
Fabrice
Envoyé par : thx1138
Date : 22/11/2010 00:13
Bonjour,
Voilà, j'ai finis par trouver le problème...
Il manquait effectivement un req.reset() dans une sous fonction. Ce qui est le plus fou c'est que celle ci est utilisé dans plusieurs cas.
Sorry pour le bruit mais c'est pas toujours facile de trouver la lumière dans certains cas, car le problème ne se posait que dans les popups...
Merci de votre aide.
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.