Elle n'a pas pour vocation à être utilisé dans un environnement avec des accès concurrentiels mais vise plutôt les applications qui ont besoin d'une gestion plus poussée des données sans passer par un serveur de base de donnée.
PureBasic est le langage que j'utilise quotidiennement (avec le C/C++) et il lui manque le support de cette bibliothèque. Je vous propose d'y remédier.
Rien de plus simple, il suffit d'installer un compilateur C comme PellesC, de télécharger la version C épurée de SQLite (pas le tarball), de créer un nouveau projet "bibliothèque statique" dans PellesC et d'y ajouter tout le contenu de l'archive de SQLite précédemment téléchargée sauf le fichier "tclsqlite.c".
Il suffit ensuite de se rendre dans les options du projet dans PellesC, dans l'onglet "Compilateur", mettez les informations de debug à "Aucune", la librairie d'éxécution à "Multi-Treads (LIB)", optimisations à "Vitesse augmentée", conventions à "__cdecl" puis de cocher les extensions Microsoft et PellesC.
Lancez la compilation, il ne devrait y avoir que quelques warning sans grande gravité, un fichier "SQLite.lib" sera généré dans le dossier "output" du projet.
Lancez maintenant l'IDE de PureBasic, copiez/collez ce code, il vous servira à tester que la lib fonctionne parfaitement avec le code PureBasic :
ImportC "crtmt.lib" ; <-- à mettre dans le root du projet PB
EndImport
ImportC "sqlite.lib"
sqlite3_close.l(db)
sqlite3_open.l(filename.p-utf8, db)
sqlite3_exec.l(db, sql.p-utf8, *callback, argument, *result)
EndImport
Define db.l, res.l
If sqlite3_open("test.sdb", @db) = 0
MessageRequester("DEBUG","db = "+ Str(db) )
If db
MessageRequester("DEBUG","OPENED" )
sql.s = "select * from ma_table"
sqlite3_exec(db, sql, #Null, #Null, @res) MessageRequester("DEBUG","sqlite3_exec = "+ Str(res) )
If sqlite3_close(db) = 0
MessageRequester("DEBUG","CLOSED")
EndIf
EndIf
EndIf
End
Il ne vous reste plus qu'à copier le fichier "crtmt.lib" qui se trouve dans le dossier "LIB" de l'installation de PellesC puis le fichier "sqlite.lib", précédemment compilé, à la racine du code source PureBasic, à noter qu'avec les dernières versions de SQLite, il faut désactiver le debugger.
Happy coding :)
7 commentaires:
Merci KarlKox,
mais peux tu tester si ca marche avec mon wrapper SQLite, stp :
http://www.purebasic.fr/french/viewtopic.php?t=6220
Dakoda, je m'en vais voir ça :)
J'ai testé en suivant à la lettre ton tutorial et ca ne marche pas du tout...
:(
Si tu tests avec les nouvelles versions de SQLite, j'ai constaté qu'il faut désactiver le debugger de PureBasic, tu as ici : http://sbougribate.free.fr/Files/PureBasic/SOCPB2006_SQLite-KarLKoX.rar
un pack avec tout ce qu'il faut :)
Erf ! blogspot a un peu de mal avec les urls un peu long, voici l'url segmentée :
http://sbougribate.free.fr/
Files/
PureBasic/
SOCPB2006_SQLite-KarLKoX.rar
Pour informations, tu désactiver le débuggueur via commande : DisableDebugger
puis EnableDebugger pour le réactiver :)
Bonjour,
Je suis actuellement à la recherche d'un language de programmation avec lequel je pourrai débuter mais également "aller plus loin". Je suis tombé sur un site qui parlait de Pure Basic et de site en site je suis arrivé ici ;)
Pouvez vous me dire si vous êtes satisfait de ce language, si on peut faire un peu de base de donnée / impression de formulaire, ou si je dois plutôt me tourner vers un autre language !?
Merci d'avance!
Enregistrer un commentaire