[Résolu]Comment choisir une table dans une bdd muli tables
Publié : dim. 04/oct./2015 9:46
Bonjour à tous,
toujours avec mon problème de bases de données, j'aimerais choisir un table dans une base multi tables, pour pouvoir la lister.
Ce serait une grande joie pour moi, d'accepter votre aide ou vos conseils.
toujours avec mon problème de bases de données, j'aimerais choisir un table dans une base multi tables, pour pouvoir la lister.
Code : Tout sélectionner
Procedure OuvrirUneBaseDeDonnees()
FichierParDefaut$ = "*.SQL"
Filtre$ = "SQlite (*.Sqlite)|*.SQL*"
Filtre = 0
FichierBdd = OpenFileRequester("Choisissez un fichier à charger", FichierParDefaut$, Filtre$, Filtre)
If FichierBdd
; Liste des tables
OpenDatabase(#Fichier_Bdd, FichierBdd, "", "", #PB_Database_SQLite)
SetGadgetText(#Str_BDD,FichierBdd)
ReqSQL = "Select * From sqlite_master order by type Desc, name Asc"
If DatabaseQuery(#Fichier_Bdd, ReqSQL)
Index = 0
While NextDatabaseRow(#Fichier_Bdd)
If GetDatabaseString(#Fichier_Bdd, 0) = "table"
Table = GetDatabaseString(#Fichier_Bdd, 1)
AddGadgetItem(#Cmb_Table, -1, Table)
Index + 1
EndIf
Wend
EndIf
SetGadgetText(#Cmb_Table, Table)
;lister la structure d'une table
Index = 0
Table = GetGadgetText(#Cmb_Table)
ReqSql = "Pragma table_info(" + Chr(34) + Table + Chr(34) + ")"
If DatabaseQuery(#Fichier_Bdd, ReqSql)
While NextDatabaseRow(#Fichier_Bdd)
AddElement(nom())
nom() = GetDatabaseString(#Fichier_Bdd, 1) ;nom
;sType.s = GetDatabaseString(#Fichier_Bdd, 2)
;Debug sType
;snonnul.s = GetDatabaseString(#Fichier_Bdd, 3)
;Debug snonnul
;sDefVal.s = GetDatabaseString(#Fichier_Bdd, 4)
;Debug sDefVal
;sCle_primaire.s = GetDatabaseString(#Fichier_Bdd, 5)
;Debug sCle_primaire
Index + 1
Wend
EndIf
;Créer l'en-tête de la ListIcon
Index = 0
ForEach nom()
AddGadgetColumn(#ListIcon, Index, nom(), 200)
Index + 1
Next
; lister les éléments d'un table et remplir la ListIcon
Global Donnee$ = ""
ReqSql = "Select * From " + table
If DatabaseQuery(#Fichier_Bdd, ReqSql)
While NextDatabaseRow(#Fichier_Bdd)
For Index = 0 To ListSize(nom()) - 1
AddElement(Donnee())
Donnee() = GetDatabaseString(#Fichier_Bdd, Index)
Donnee$ + Donnee() + Chr(10)
Next
AddGadgetItem(#ListIcon, -1, Donnee$ + Chr(10))
Donnee$ = ""
Wend
FinishDatabaseQuery(#Fichier_Bdd)
ColorerListe(#ListIcon)
Else
MessageRequester("Erreur", DatabaseError())
EndIf
Else
MessageRequester("Information", "La sélection a été annulée.", 0)
EndIf
FermerLaBaseDeDonnees()
EndProcedure