Page 1 sur 1

Erreur $SQLITE_MISUSE sur une requête d'insertion

Posté : lun. 28 août 2017 15:05
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

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

Posté : mar. 29 août 2017 11:51
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