Bonjour,
je voudrais écrire des valeurs de dates <NULL> dans une base SQL SERVER 2K à partir de c#.
Les valeurs de date sont saisies par l'utilisateur dans des TextBox sous forme de strings.
La valeur retournée est utilisée dans une commande sql qui est envoyée par le moyen d'un Adapter.
Pour transformer ce qui est saisi en quelquechose dont le format coïncide avec une date j'utilise une petite fonction :
Pour convertir ces strings sous forme de DateTime c#.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 datetime StringToDate(string MyString) { return (DateTime.Parse(MyString)); }
Tout se passe très bien sauf pour les valeurs non renseignées par l'utilisateurs qui sont sauvées en "01/01/1900" SQL SERVER 2K alors qu'il faudrait que la valeur <NULL> SQL SERVER 2K soit sauvée dans ce cas.
Sinon j'ai essayé d'utiliser cette fonction pour "formatter" la date sosu forme de smalldatetime sql server :
Mais l'exécution n'arrive pas à convertir "null" en smalldatetime sql-server.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 string StringToDateform(string MyString) { if (MyString.Length>0) {return (Convert.ToString(DateTime.Parse (MyString)));} return ("null"); }
Dans cette dernière fonction si je retourne "" au lieu de "null" la date peut être sauvée sans erreur mais sous forme "01/01/1900" ...
Je viens de trouver une solution avec cette fonction :
Et pas de ' dans l'intégration du résultat de cette fonction dans ma chaîne de connection.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 string StringToDateform(string MyString) { if (MyString.Length>0) {return ("'" + Convert.ToString (DateTime.Parse(MyString)) + "'");} return ("null"); }
![]()
Partager