Salut a tous,
Je demande de l'aide pour recuperer le type (Integer, Varchar,...) d'un champ en connaissant le nom du champ et le nom de la table. J'utilise Interbase/Firebird comme SGBD.
Merci pour votre aide
Salut a tous,
Je demande de l'aide pour recuperer le type (Integer, Varchar,...) d'un champ en connaissant le nom du champ et le nom de la table. J'utilise Interbase/Firebird comme SGBD.
Merci pour votre aide
Il y a la "méthode Delphi" fondée sur le type du TField renvoyé par ton composant de données :et la "méthode SQL" par recherche dans les tables système :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if Matable .FieldByName (MonChamp) is TIntegerField then etc...
avec l'inconvénient que ça te renvoie un Integer qu'il faut interpréter, et là je n'ai pas de méthode. On retrouve assez vite l'essentiel (37 = VARCHAR, 8 = INTEGER...), mais si qqn a une méthode magique, je suis preneur.
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT RDB$FIELDS.RDB$FIELD_TYPE FROM RDB$FIELDS JOIN RDB$RELATION_FIELDS ON RDB$RELATION_FIELDS.RDB$FIELD_SOURCE = RDB$FIELDS.RDB$FIELD_NAME WHERE RDB$RELATION_FIELDS.RDB$FIELD_NAME = :MonChamp AND RDB$RELATION_FIELDS.RDB$RELATION_NAME = :MaTable
Roland
Autre possibilité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 case Matable.fieldByName('MonChamp').DataType of ftinteger: showmessage('Entier'); ftString: ShowMessage('String'); // Etc... (tapper ft dans la zone de saisie de delphi puis faire [ctrl]+[Espace] cela affichera la liste des types end;
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 a vous et toutes mes felicitations pour se site qui ne finira pas de m'etonner
RSC J'avais trouver la liste des types
* 8 = Integer
* 10 = Float
* 12 = Date
* 13 = Time
* 14 = Char
* 35 = TimeStamp
* 37 = VarChar
* 261 = Blob
et je desesperais de trouver comment les renvoyer, je n'arrivais qu'a avoir la liste des fields de la table. Encore merci a vous et portez vous bien.
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