Probleme champs readonly aléatoire bd SQLServer2008 et Delphi6
rcourteau
Messages postés2Date d'inscriptionvendredi 14 mai 2010StatutMembreDernière intervention20 juillet 2011
-
11 juil. 2011 à 18:56
rcourteau
Messages postés2Date d'inscriptionvendredi 14 mai 2010StatutMembreDernière intervention20 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:
Probleme champs readonly aléatoire bd SQLServer2008 et Delphi6
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 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.
rcourteau
Messages postés2Date d'inscriptionvendredi 14 mai 2010StatutMembreDernière intervention20 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."