Bonjour.
Je ne trouve pas le moyen de faire remonter les valeurs par défaut des colonnes de ma BDD dans les colonnes du Dataset généré automatiquement par VS2005
Discussion :
Bonjour.
Je ne trouve pas le moyen de faire remonter les valeurs par défaut des colonnes de ma BDD dans les colonnes du Dataset généré automatiquement par VS2005
Tu utilises un DataAdapter et un Fill pour récupérer la structure et les données ?
Le code du dataset (NomDuDataset.Designer.cs) généré par Visual Studio inclut un TableAdapter pour chacune des tables. Ce TableAdapter a comme membre un SqlDataAdapter dont il gère l'initialisation à partir de la méthode InitAdapter(). Lorsque j'importe des colonnes de mon DataSet dans ma Form à partir de la Fenêtre "Source de données", les objets Dataset, TableAdapter et BindingSource sont automatiquement ajoutés dans le designer de ma fenêtre. Concrètement, Visual studio ajoute ces objets dans ma Form dans le fichier MaForm.Designer.cs.
Pour répondre à ta question, VS ajoute également la ligne
this.maTableTableAdapter.Fill(this.monDataset.MaTable);
dans la fonction maForm_Load du fichier MaForm.cs
Donc oui j'utilise un DataAdapter et un Fill.
Je ne sais pas comment modifier le comportement par défaut du générateur de dataset qui ne prend pas en compte les valeurs par défaut de la BDD. Je peux toujours aller modifier ces valeurs dans le Concepteur de Dataset à la main (elles sont toutes à DbNull) mais c'est assez fastidieux et je préférerais utiliser les outils de génération automatique proposés par Visual. En effet si à chaque fois que j'effectue sur ma BDD une modif qui m'oblige à regénérer le Dataset, je dois aller remplir toutes les valeurs par défaut des colonnes à la main, ca risque d'être vraiment compliqué ...
Salut egoom,
Pour être en mesure d'attribuer une valeur par défaut à une ou plusieurs colonnes, je crois que c'est possible seulement dans le cas où ton dataset est « typé » (c'est peut-être faisable si c'est pas le cas, je ne sais pas??), ce qui semble être ton cas.
Tu accèdes à la propriété DefaultValue en passant par le dataset :
Donc, tu dois d'abord attribuer ta ou tes valeurs pa défaut à ta ou tes colonnes et par la suite tu dois appeler la méthode AddNew().
Code : Sélectionner tout - Visualiser dans une fenêtre à part NomDataset.NomdeTatable.NomdeTaColonneColumn.DefaultValue
J'espère que ça te donnera un coup de main.
iDaaX
![]()
Les valeurs par défaut sont gérés côté SGBDR et non pas côté client !
Voilà tout le problème.
Vous n'avez pas besoin de renseigner encore une colonne qui possède une valeur par défaut sauf si vous voulez lui indiquer une valeur différente.
La valeur par défaut est faite pour cela.
Sauf si j'ai mal compris la question.
Salut Idaax, je te remercie pour ta réponse. En fait je veux justement trouver une méthode qui m'éviterai d'employer la solution que m'as conseillée, cad de remplir les propriétés DefaultValue à la main. Pour reformuler ma question, serait-il possible que le générateur de dataset de VS2005 remplisse les propriétés DefaultValue des DataColumn ?
WOLO Laurent, bonjour. L'intérêt de préciser les valeurs par défaut dans un DataSet se justifie à la création d'un nouvel enregistrement, pour que les contrôles dont les propriétés sont bindées (par ex TextBox) soient initialisés avec ces valeurs.
Partager