Tout d'abord, vous semblez confus quant à la différence entre un DateTime
objet et la String
formatée représentation de ce DateTime
objet. Now
, ou mieux encore, DateTime.Now
est déjà un DateTime
objet, donc cela n'a aucun sens de le formater en tant que chaîne, puis d'analyser la chaîne pour la remettre dans un DateTime
valeur à nouveau. Ainsi, vous pouvez simplement faire ceci pour accomplir la même chose :
Dim timestamp As Date = Date.Now
Notez que dans VB.NET, Date
est un mot clé qui est l'abréviation de DateTime
, tout comme Integer
est "court" pour Int32
.
Deuxièmement, vous ne devriez pas ajouter DateTime
valeurs directement dans la chaîne de commande SQL. Vous devriez utiliser une requête paramétrée. Lorsque vous ajoutez le DateTime
valeur à la chaîne SQL, vous devez vous assurer qu'elle est correctement formatée (en appelant timestamp.ToString(...)
). Malheureusement, le format approprié dépendra entièrement des paramètres de culture du serveur. Donc, il est de loin préférable d'utiliser un paramètre DB, définissez la valeur du paramètre égale au réel DateTime
objet, puis laissez le fournisseur de base de données effectuer la conversion pour vous.