Bonsoir,
C'est vrai, je n'ai pas trouvé de trace d'un tuto sur le forum.
Je vous joints un petit code qui pourra peut être vous éclairer
- création d'une base
- création d'une table
- insertion de données
- lecture des données
Il y a une chose qui peut paraitre trompeuse, c'est par exemple _SQLite_GetTable2d() qui renvoie OK ou nonOK
Les données sont renvoyées sur des variables comme ceci
Local $aResult, $iRows, $iColumns
$ok = _SQLite_GetTable2d(-1, "select nom, rue, ville, ref_ets from client where nom = 'toto';", $aResult, $iRows, $iColumns)
En fait, Autoit reste assez simple dans son usage. Toute la complexité vient surtout du langage Sqlite
#include <SQLite.au3>#include <Array.au3> _SQLite_Startup() ;_SQLite_Startup(@ScriptDir & "\sqlite3.dll") If @error Then MsgBox(16, "SQLite Error", "SQLite3.dll Can't be Loaded!") Exit -1 EndIf $path = @ScriptDir & "\mydb1.db" _SQLite_Open($path) ;$sDatabase_Filename [optional] Database filename, by default will open a memory database. $dll = _SQLite_LibVersion() ;Requires SQLite3.dll in Current or System directory. If @error Then MsgBox(0, "SQLite Error: " & @error, _SQLite_ErrMsg() & " Fin du programme " & @ScriptLineNumber) _SQLite_Close() Exit EndIf $table = "CREATE TABLE IF NOT EXISTS [client] ( " & @CRLF ;langage SQL ! $table &= " [ref_client] INTEGER PRIMARY KEY AUTOINCREMENT, " & @CRLF $table &= " [ref_ets] CHAR, " & @CRLF $table &= " [nom] TEXT, " & @CRLF $table &= " [rue] TEXT, " & @CRLF $table &= " [ville] TEXT, " & @CRLF $table &= " [cp] CHAR(5), " & @CRLF $table &= " [mail] TEXT, " & @CRLF $table &= " [tel] CHAR(14), " & @CRLF $table &= " [port] CHAR(14), " & @CRLF $table &= " [responsable] TEXT); " $rep = _SQLite_Exec(-1, $table) ;An open database, use -1 to use last opened database If $rep <> $SQLITE_OK Then MsgBox($MB_SYSTEMMODAL, "SQLite Error: " & @error, _SQLite_ErrMsg() & " Fin du programme >>" & @ScriptLineNumber) _SQLite_Close() Exit EndIf $nom = "toto" $rue = "rue sans tête" $ville = "versaille !" $cp = "?" $Numclient = Int(Random(1,1000)) $telephon = "01.01.01.01.01" $portable = "06.06.06.06.06" $responsable = "absent" $Mail = "toto@autoit.fr" $ordre = "INSERT INTO client(nom,rue,ville,cp,ref_ets,tel,port,responsable,mail) VALUES " $ordre &= "('" & $nom & "','" & $rue & "','" & $ville & "','"& $cp & "','"& $Numclient & "'" $ordre &= ",'" & $telephon & "','" & $portable & "','" & $responsable & "','"& $Mail & "');" $insert = _SQLite_Exec(-1, $ordre) If $insert <> $SQLITE_OK Then MsgBox(0,"Error","La création a échoué") Local $aResult, $iRows, $iColumns $ok = _SQLite_GetTable2d(-1, "select nom, rue, ville, ref_ets from client where nom = 'toto';", $aResult, $iRows, $iColumns) If $ok <> $SQLITE_OK Then MsgBox(0,"Error","La lecture a échoué") _ArrayDisplay($aResult) MsgBox(0,"",$iRows &" "& $iColumns) _SQLite_Close() Exit
Si vous obtenez le message "SQLite Error", "SQLite3.dll Can't be Loaded!" c'est que la DLL est inexistante sur votre PC. #include <SQLite.dll.au3> devrait résoudre le problème sinon téléchargez la DLL sur le site Sqlite et la placer dans
le dossier System32 ou bien indiquez le chemin ex: _SQLite_Startup(@ScriptDir & "\sqlite3.dll")
Regardez aussi les exemples de l'aide, très utiles...