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.
MD Software
---------------------------
F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi
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
M E N S . A G I T A T . M O L E M
Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal
"La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."
Si tu as un composants TSession (ou TDatabase je suis plus sur) , utilise GetTableNames
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
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
Section Delphi
La mine d'or: La FAQ, les Sources
Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
Notre revanche ? l'inverse est aussi vrai ;-)
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