Après de multiples Tests et de lectures diverses, je n'arrive pas à trouver une solution et Je m'interroge si cela est vraiment réalisable.
Dans le cadre de mon travail, je cherche à traiter de petits fichiers CSV comme autant de petites bases de données afin d'extraire certaines informations.
L'objectif étant de pouvoir sélectionner ceux qui m'intéressent et le programme crée automatiquement les Tables et les remplit pour chaque base de données distinctes.
- Si je sélectionne 1 fichier, tout fonctionne correctement.
- A partir d'une sélection multiple de fichiers (Une boucle qui traite chaque fichier sélectionné), la 2eme Base ou N base ne se crée absolument pas.
J'ai l'impression qu'il ne veut traiter qu'une seule base dans mon programme et non plusieurs simultanément.
pourtant les fonctions _SQLite_Close() et _SQLite_Shutdown() sont indiquées à chaque nouveau traitement.
Pour exemple quelques lignes de codes pour illustrer mon soucis:
J'ai enchainé volontairement à la suite la création de 2 bases différentes (ce que fait mon programme lorsque j'ai sélectionné plusieurs fichiers à traiter)
- On constate que la 1ere Base est bien créée, mais jamais les suivantes.
#include <File.au3>
#include <MsgBoxConstants.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>
; Init sqlite
_SQLite_Startup(@ScriptDir & "\sqlite3_x64.dll", False, 1) ; Load the DLL
If @error Then Exit MsgBox(0, "Error", "Unable to start SQLite, Please verify your DLL")
ConsoleWrite("SQlite version " & _SQLite_LibVersion() & @LF & @LF)
Local $hDskDb = _SQLite_Open()
If @error Then
MsgBox($MB_SYSTEMMODAL, "SQLite Error", "Can't create a Database!")
Exit -1
EndIf
;Premiere Base de donnée
msgbox(0,"base 1", $hDskDb);affichage qu'une base est bien créee en mémoire
_SQLite_Exec($hDskDb, "create table XX (Key, FirstName text, LastName text, Birth text, Death text)")
_SQLite_Exec($hDskDb, "insert into XX values (10, 'Bohr', 'Niels', '1885/10/07', '1962/11/18')")
_SQLite_QueryFinalize($hDskDb)
_SQLite_Close()
_SQLite_Shutdown()
;Deuxième Base de donnée
Local $hDB1 = _SQLite_Open()
If @error Then
MsgBox($MB_SYSTEMMODAL, "SQLite Error", "Can't create a Database!")
EndIf
msgbox(0,"base 2", $hDB1);cette 2eme Base ou X base sera = à 0
_SQLite_Exec($hDB1, "create table TT (key, FirstName text, LastName text, Birth text)")
_SQLite_Exec($hDB1, "insert into TT values (10, 'Bohr', 'Niels', '1885/10/07')")
_SQLite_Close($hDB1)
_SQLite_Shutdown()

En vous remerciant par avance de l'aide que vous pourrez m'apporter, je vous souhaite une bonne soirée.
Cordialement
Eric