bonjour,
est ce qu'il est possible de creer des champs persistants pour un composant type ttable ou Tquery par programme ?
bonjour,
est ce qu'il est possible de creer des champs persistants pour un composant type ttable ou Tquery par programme ?
Qu'est-ce qu'un champ persistant ?
Pour moi, c'est un champ réellement stocké en DB, le contraire d'un champ calculé ...
Soit plus précis !
Avoir FieldDefs.Add ... tu trouveras plein d'exemple sur le forum
bonsoir,
ce sont les champ que l'on peut créer en mode conception à l'aide de l'éditeur de champ (double clic sur le composant Ttable ou Tquery)
quand on ne connait pas bien le sql (e qu'on vient du BDE) c'est plus pratique à utiliser
A+
De prime abord je réponds non.
A priori, cette petite couche de persistence offerte par les dataset n'est faite que pour fonctionner en design-time.
Connaître lors du run-time les champs persistants d'un dataset est facile car cela est décrit dans la propriété FieldList du DataSet.
Mais quand tu regardes dans la classe TDataSet tu remarqueras que cette propriété est en lecture seule. Donc pas de addObbject possible dans ton code.
Peut-être en déployant une stratégie très compliquée pour arriver quand même au résultat. Mais est-ce que le jeu en vaut véritablement la chandelle ?
Je pense qu'il te faut te poser la question de savoir si tu n'as pas la possibilité de contourner de problème. Reformule peut-être ta question en nous disant ce que tu désires-réaliser qui t'oblige à t'imposer de créer un champ persistant au run-time.
la notion de lecture seule n'est pas toujours bien géré dans le code, parfois la lecture seule a été limité à la référence de l'objet, mais par contre, dans le cas de FieldList c'est bien géré, parce qu'il y a une autre propriété FieldDefs, et celle-ci dispose d'un Add !
Pour Paradox via TTable, voir Table.FieldDefs.AddFieldDef et CreateTable ...
il faut d'aborder recopier les données dans une table tampon, la table d'origine sera écrasée !
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