SQLITE pb table et comptage enregistrements
Publié : lun. 19/oct./2020 13:43
Bonjour,
Je ne comprends pas pourquoi j'ai une erreur (ligne 34, instruction "If DatabaseUpdate(base_loto, requete_sql) = 0" , j'ai le message "Le #Database spécifié n'est pas initialisé").
Merci de votre aide
Je ne comprends pas pourquoi j'ai une erreur (ligne 34, instruction "If DatabaseUpdate(base_loto, requete_sql) = 0" , j'ai le message "Le #Database spécifié n'est pas initialisé").
Merci de votre aide
Code : Tout sélectionner
EnableExplicit
#base=0
Global base_loto.l
Global requete_sql.s
;===== Création de la base de données loto si elle n'existe pas, puis l'ouvrir
Procedure creer_base_loto()
Protected nom_base.s = "base_de_donnees_loto.sqlite"
UseSQLiteDatabase()
If FileSize(#PB_Compiler_FilePath + nom_base) < 0
base_loto = CreateFile(#base, #PB_Compiler_FilePath + nom_base)
If base_loto
CloseFile(base_loto)
Else
MessageRequester("Base non trouvée !", DatabaseError())
EndIf
EndIf
base_loto = OpenDatabase(#base, #PB_Compiler_FilePath+nom_base, "", "", #PB_Database_SQLite)
If base_loto = 0
MessageRequester("Erreur ouverture base","<base_de_donnees_loto.sqlite> non trouvée ! " + DatabaseError())
End
EndIf
; Vérifier si la table historique des tirages existe et la créer si inexistante
requete_sql = "CREATE TABLE IF NOT EXISTS HISTORIQUE_TIRAGES ("
requete_sql + "ID_TIRAGE INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "
requete_sql + "JOUR_TIRAGE STRING Not NULL, "
requete_sql + "DATE_TIRAGE DATE Not NULL, "
requete_sql + "TIRAGE STRING not NULL"
requete_sql + ")"
If DatabaseUpdate(base_loto, requete_sql) = 0
MessageRequester("Erreur accès table","Erreur dans création table <HISTORIQUE_TIRAGES> - creer_base_loto() " + DatabaseError())
EndIf
; Compter le nombre d'enregistrements dans le table HISTORIQUE_TIRAGES
If DatabaseQuery(#base, "SELECT COUNT(*) FROM HISTORIQUE_TIRAGES") <> 0
NextDatabaseRow(#base)
Debug "Number of records 'Select Count' : " + GetDatabaseString(#base, 0)
EndIf
EndProcedure
;===== Programme principal
creer_base_loto()