Erreur $SQLITE_MISUSE sur une requête d'insertion

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
danylarson
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mer. 18 janv. 2017 12:25
Status : Hors ligne

Erreur $SQLITE_MISUSE sur une requête d'insertion

#1

Message par danylarson »

Bonjour,

Je cherche a stocker des données dans une base de données et mon code qui fonctionnais avant ne fonctionne plus :shock: .
Cependant lorsque j'appelle la fonction _SQLite_Exec j ai la valeur de retour 21 qui correspond $SQLITE_MISUSE

J'ai fait une mise a jour de Sqlite db browser pour voir les données dans ma base et la version de la dll que j utilise est la version 3.20.1

Voici mon code :

Code : Tout sélectionner

	_SQLite_Startup()

	print(_SQLite_LibVersion())

	Print($DataBase = _SQLite_Open($DbName))

	Print(_SQLite_Exec($DataBase, "BEGIN IMMEDIATE TRANSACTION"))

	Print(_SQLite_Exec($DataBase, $AllQueries))

	Print(_SQLite_Exec($DataBase, "END TRANSACTION"))

	_SQLite_Close()

	_SQLite_Shutdown()
Merci pour toute reponse ou information
danylarson
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mer. 18 janv. 2017 12:25
Status : Hors ligne

Re: Erreur $SQLITE_MISUSE sur une requête d'insertion  

#2

Message par danylarson »

ReBonjour tout le monde,

J'ai trouvé la solution a mon probleme.
Plusieurs sources :

1°) La fonction _SQLite_Open doit recevoir en premier parametre un chemin absolu et non un chemin relatif
J'ai du mettre _SQLite_Open(@scriptdir & "\Mabase.db" ,$SQLITE_OPEN_READWRITE) au lieu de
_SQLite_Open( "Mabase.db" ,$SQLITE_OPEN_READWRITE)

2°) la fonction _SQLite_Shutdown() ferme les dll ouverte et donc certainement sqlite3.dll et donc plus possible de reacceder a la base
Je l'ai donc commenté.

Ce n'etait pas evident à trouver mais bon j'espere que cela vous seras utile.

Merci a ceux qui ont essayé de chercher
Répondre