Pb conversion datetime

srmes Messages postés 2 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

j'ai un pb de conversion date, j'ai deux bases de données l'une sur ERP et l'autre sur sqlserver, alors je dois importer les données de l'erp et les stocker dans BD sqlserver, l'importation ça marche mais le format date non.
dans la BDD erp j'ai un format date ex "févr 27 2012 12: 00 AM" et dans sqlserver j'ai le format dd/mm/yyyy hh:min:ss l'interface de communication entre les deux BDD est en vb
voici le code:

j'ai utilisé la fonction CONVERT mais les données importées gardent tjrs le format de la base erp (févr 27 2012 12: 00 AM)

la tabe sqlserver est prd_erp le champ date est parametro6

le nom de la table source est MFGHEAD et le champ STRDAT_0

*******code*****

Function DFC_btn_envoyer_Click(ByVal ParentForm As mapexApp.DF_frmBase, ByVal Sender As mapexApp.DFC_btnSystem) As Boolean


Dim SQLinsert As New SqlCommand
Dim sql As New DFC_SQL
Dim sqlreader As SqlDataAdapter
Try
cn.Open()
SQLinsert.Connection=cn
SQLinsert.CommandText="INSERT INTO dbo.prd_erp(Id_operacion,DH_generacion,Parametro1,Parametro6,) SELECT 301,GETDATE(),MFGHEAD.MFGNUM_0 AS code_OF,CONVERT(datetime,MFGHEAD.STRDAT_0,104) AS Date_début_OF) FROM " & dossier & ".MFGHEAD LEFT OUTER JOIN " & dossier & ".MFGITM ON MFGHEAD.MFGNUM_0 = MFGITM.MFGNUM_0 LEFT OUTER JOIN " & dossier & ".MFGOPE ON MFGHEAD.MFGNUM_0 = MFGOPE.MFGNUM_0 LEFT OUTER JOIN " & dossier & ".ITMMASTER ON MFGHEAD.ROUNUM_0 = ITMMASTER.ITMREF_0 LEFT OUTER JOIN " & dossier & ".ITMCATEG ON ITMMASTER.TCLCOD_0=ITMCATEG.TCLCOD_0 WHERE MFGHEAD.MFGNUM_0='" & txb_cod_of.Text & "' AND MFGOPE.ROODES_0='" & cmbox_ope.SelectedItem.ToString & "'"
SQLinsert.ExecuteNonQuery()


Msgbox("Opération bien transférée ",,"Transfert terminé")
cn.Close

Catch Ex As Exception
MessageBox.Show(Ex.Message)
cn.Close()
End Try

End Function



End Class
End Namespace




merci de m'aider

3 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Il ne faut pas perdre de vue que VB c'est en anglais, l'abréviation du mois doit donc être en anglais et comporter 3 lettres.
Pour l'heure il ne faut pas d'espace après le : (deux points)
A+
0
srmes Messages postés 2 Statut Membre
 
Bonjour,

j'ai changé la fonction CONVERT j'ai mis CONVERT(datetime,MFGHEAD.STRDAT_0,103) AS Date_début_OF pour avoir le format dd/mm/yyyy donc ici le nom du champ est STRDAT recupéré de la table MFGHEAD , mais tjr ça marche pas les dates importées gardent le format févr 27 2012 12:00AM.

désolée au debut l'epace entre les deux points c'etait faute de frappe

je comprend pas pourquoi SELECT CONVERT ça marche pas!!
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Y comprend pas... févr
Ce n'est pas conforme à la syntaxe, il faut mettre les abréviations du mois en anglais.
0