bonjour,

Le sujet est l'opération inverse de celui-ci :

J'ai deux DTP dans un formulaire dont le rôle est de capter une date et de l'enregistrer dans une base de données SQLITE
Ces 2 DTP sont paramétrés exactement de la même façon dans le designer.
D'ailleurs j'ai vérifié par un débogage pas à pas que DTP.value renvoie bien la même valeur pour une date donnée (par exemple #10/26/2103 6:41:34 PM#

Pour x raisons que je ne développerai pas ici, je n'ai pas codé de la même façon l'enregistrement de leur valeur dans la base de données :

1er code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
                Dim dr As DataRow = Nothing
                Dim dt As DataTable = monDataSettypé.maDataTable
 
                dr = dt.NewRow
                dr("DateAchat") = DTP_Achat.Value
                dt.Rows.Add(dr)
                monTableAdapter.Update(dt)
Le résultat en base de données est : "26/10/2013 18:41:34"

2ème code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SQL = "INSERT INTO table (...,DateVente) VALUES (...,@DateVente)"
dim con as New SQLiteConnectionString(maconnexionstring)
con.Open()
dim cmd as New SQliteCommand(SQL, con)
cmd.Parameters.AddWithValue("@DateVente", DTP_DateVente.Value)
...
cmd.ExecuteNonQuery()
cmd.Dispose()
con.Close()
Le résultat en base de données est : "2013-10-26 18:41:34"

Pour info, c'est ce format que je souhaite avoir.

J'ai donc la parade pour le code 1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
  dr("DateAchat") = DTP_Achat.Value.ToString("yyyy-MM-dd 00:00:00")
Mais j'aimerais assez comprendre pourquoi je n'obtiens pas le même format avec le 1er le 2ème code alors que, a priori, ces 2 types de codes sont "synonymes".
Quelqu'un a-t-il une piste d'explication ?