Bonjour,
Je cherche le moyen de récuperer le nom de chaque table d'une bdd paradox mais je ne trouve pas, y'a t-il quelqu'un pour m'éclairer?
Merci d'avance.
Bonjour,
Je cherche le moyen de récuperer le nom de chaque table d'une bdd paradox mais je ne trouve pas, y'a t-il quelqu'un pour m'éclairer?
Merci d'avance.
Je ne connais pas Paradox, mais en principe, il faut que tu accèdes au "dictionnaire des données", ce sont les meta-tables.
Salut
Il suffit qu'une bonne fée passe ...
Utilise la méthode GetTableNames(List: TStrings; SystemTables: Boolean = False) de la classe TDatabase. Cela devrait résoudre ton problème.
cdlt
e-ric
Si tu as un composants TSession (ou TDatabase je suis plus sur) , utilise GetTableNames
Merci beaucoup madame la fée et malatar,
Je vais tester avec Tsession, vu qu'apparement getTableNames n'est pas une méthode de TDatabase mais de TIBDatabase . De plus comme il y a toujours des directives qui s'ajoutent, en voila une autre, il faut maintenant que je récupère les noms de champs de chaque tables .
Je cherche de mon coté mais si vous avez des idées ca me ferait gagner des minutes précieuses(et le temps c'est de l'ar.. ).
J'ai pas regardé précisément les solutions dessus, qui sont plus logiques.
Mais il y a aussi une solution simple, puisque c'est sous paradox.
Si toutes les tables de ta bases sont concentrées dans un répertoire, (et sous répertoires éventuellement), ce qui est souvent le cas,
tu peux lister tous les fichier (*.db) et tu auras toutes tes tables.
méthode un peu brutale mais qui fonctionne bien
bon courage
Oui, pour les noms de tables ça marche nickel, pour les noms de chaque champs j'ai fais un algo un peu à la va comme jte pousse (dixit bruce willis)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure TClassConnexionBdd.nomChamps(var uneList: TStringList; unNomTable: string); var unDataSet : TTable; begin unDataSet := TTable.Create(nil); unDataSet.databasename := maDataBase.DatabaseName; unDataSet.TableName := unNomTable; unDataSet.getFieldNames(uneList); unDataSet.Free; end;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager