none
conversion failed when converting date and/or time from character string c#

    Question

  • Now I want to substitute a query string parameter for the hard coded date.

    Here is my code:

    i can't insert datetime i'm getting Data From Excel

     using (SqlCommand cmd = new SqlCommand("INSERT INTO Factures (Ordre, Numero , MontantHT, TVA ,MontantTTC,TauxTaxe, DatePaiement,DateFacture,Desciption,FournisseurID,DeclarationID,ModePaiement_ID) VALUES (@Ordre, @Numero , @MontantHT, @TVA ,@MontantTTC,@TauxTaxe, @DatePaiement,@DateFacture,@Desciption,@FournisseurID,@DeclarationID,@ModePaiement_ID)", con))
                        {
                            cmd.Parameters.AddWithValue("@Ordre", row.Cells["num_ordre"].Value);
                            cmd.Parameters.AddWithValue("@Numero", row.Cells["num_facture"].Value);
                            cmd.Parameters.AddWithValue("@MontantHT", row.Cells["ht"].Value);
                            cmd.Parameters.AddWithValue("@TVA", row.Cells["tva"].Value);
                            cmd.Parameters.AddWithValue("@MontantTTC", row.Cells["ttc"].Value);
                            cmd.Parameters.AddWithValue("@TauxTaxe", row.Cells["taux"].Value);
                            cmd.Parameters.AddWithValue("@DatePaiement", row.Cells["date_paie"].Value); // this one 
                            cmd.Parameters.AddWithValue("@DateFacture", row.Cells["date_facture"].Value); // this one too
                            cmd.Parameters.AddWithValue("@Desciption", row.Cells["designation"].Value);
                            cmd.Parameters.AddWithValue("@FournisseurID", "1");
                            cmd.Parameters.AddWithValue("@DeclarationID", "1");
                            cmd.Parameters.AddWithValue("@ModePaiement_ID", "1");
                            con.Open();
                            cmd.ExecuteNonQuery();
                            con.Close();
                        }

    mardi 7 juin 2016 13:53

Réponses

Toutes les réponses

  • Hello Medsiim,

    You can use :

    DateTime.Parse(row.Cells["date_paie"].Value, new System.Globalization.CultureInfo("en-GB"));

    CultureInfo is optional but you can fill with your date globalization format (here UK).

    mardi 7 juin 2016 14:07
  • Hello Arthur LeMeur,

    Thank you for your help.

    i did it but i get this message (Argument 1: cannot convert from 'object' to 'string')

    remark i'm a beginner in C#.


    mardi 7 juin 2016 14:24
  • My bad,

    You need first extract string from cell object :

    row.Cells["date_paie"].Value.ToString()

    into the Parse method

    mardi 7 juin 2016 14:35
  • Bonjour Medsiim et Arthur LeMeur,

    Veuillez poster vos commentaires en langue française.
    Je vous remercie par avance de votre compréhension.

    Cordialement,
    Teodora


    Votez! Appel à la contribution TechNet Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    jeudi 9 juin 2016 13:44
    Modérateur