Probleme champs readonly aléatoire bd SQLServer2008 et Delphi6

rcourteau Messages postés 2 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 20 juillet 2011 - 11 juil. 2011 à 18:56
rcourteau Messages postés 2 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 20 juillet 2011 - 20 juil. 2011 à 21:50
Bonjour,

J'ai une base de données SQLServeur2008 R2. Aucun champs et aucune table ne sont mis readonly dans la base de données. Avec Delphi6 je crée des provider dynamiquement (sans nommer chacun des champs). Et aléatoirement des champs se mette readonly dans le provider à l'execusion. Ce ne sont pas des clés primaires, ce ne sont pas des champs calculé. Je ne comprend pas qu'est-ce qui provoque le readonly.

Je ne veux pas avoir à créer tous les champs statiquement pour pouvoir mettre la propriété du provider à readonly false. Il y a beaucoup trop de table et de champs. J'ai besoin que tous les champs soit readonly à False pour pouvoir les éditer. De plus un même champs est quelque fois readonly quelques fois non, c'est aléatoire, très bizare. J'ai le problème dans quelques tables et quelques champs seulememt.

Je remarquer que si je supprime et recré le champs dans SQlserver le problème est corrigé, mais ce déplace sur un autre champs. Je peux aussi corriger en déplaçant le champs plus bas dans la table.

J'ai le même problème avec la même application et une base de données SQLServeur2000.

Est-ce que quelqu'un à une idée de ce qui peut causer ce problème et comment le corriger.

Merci
Roxanne
A voir également:

2 réponses

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
13 juil. 2011 à 10:16
Salut,

après ouverture de la table, parcoure tous les champs qui existent dynamiquement (propriété Tdataset.FieldsDef je crois) afin de mettre ReadOnly à false.
Si le problème persiste, essaye d' utiliser une table avec les champs en persistent pour voir si le problème existe aussi dans ces cinditions.

A+


Composants Cindy pour Delphi
0
rcourteau Messages postés 2 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 20 juillet 2011
20 juil. 2011 à 21:50
Bonjour,

J'ai essayé de faire ceci à l'ouverture du clientDataset.

for i := 0 to DataSet.Fields.Count - 1 do
DataSet.Fields[i].ReadOnly := False;
for i := 0 to DataSet.FieldDefs.Count - 1 do
DataSet.FieldDefs[i].Attributes := DataSet.FieldDefs[i].Attributes - [faReadOnly];


Mais sans succès, j'ai toujours le message (cannot modify readonly field lors du post).

Je ne comprend pas ta deuxième proposition :
"Si le problème persiste, essaye d' utiliser une table avec les champs en persistent pour voir si le problème existe aussi dans ces cinditions."

Peux tu expliquer un peu plus SVP.

Merci
Roxanne
0
Rejoignez-nous