est t il possible de transferer a une base de donnée une valeur "null" pour une date.
Visiblement le composant DateTimePicker ne permet pas ce genre de choses via sa property Value.
est t il possible de transferer a une base de donnée une valeur "null" pour une date.
Visiblement le composant DateTimePicker ne permet pas ce genre de choses via sa property Value.
Plusieurs possibilités pour un null vers un type date :
- les types nullable, mais je ne suis pas sur que cela fonctionnera avec le DateTimePicker, ça reste à tester...
- DateTime.MinValue, quand tu récupères de ta base de données, si la valeur dans la db est null, tu le mets sur MinValue (ou sur toute autre valeur) mais bon c'est pas la bonne solution je trouve, juste un tips utilisé quand on connais pas trop les types nullables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DateTime? maDate = null;
je cherhce a faire l'inverse : Effacer uen date du datetime picker (ca ok) et transferer a la base la valeur "null" or, la property "value" est un cardinal (entier positif) donc a priori non nullable car toutes les valeurs sont associées a une date (recalculé)
En gros on souhaite depuis l'interface envoyer "null" a la base.
oops désolé j'avais mal lu ^^
Il me semble qu'il y a moyen de mettre une checkbox au DateTimePicker et si il n'est pas checked tu peux facilement dire que c'est un null à envoyer... non?
ben justement, la est tout le probleme.
Comment transmettre au Bindingsource/dataset la valeur "null" depuis un composant, sacahnt que derriere tout ca, dans ma base SQL, c'est une variable de type "DateTime" qui est utilisé, a la fois en tant que parametre d'un PS et d'un type de colonne de table.
Je maitrise tres mal la chaine BindingSource/DataSet/TableAdapter ....
Bonjour,
Je vois que tu parles de TableAdapter, tu dois certainement donc utiliser des dataset typés.
La valeur null est représenté par System.Data.DBNull.Value
Lors de la définition de ton DataSet, le designer de VS a dû te générer une méthode te permettant de mettre à NULL pour chaque champ qui peut-être null.
Ainsi il te suffit pour l'attribution de la valeur de faire:
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TonDataSet.TonDataRow rowSelectionne = ((DataRowView)tonBindingSource.Current).Row as TonDataSet.TonDataRow; rowSelectionne.SetTonChampDateTimeNull();
Bye
Partager