IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Convertion de String en Date("ddMMyy")


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Saten
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut Convertion de String en Date("ddMMyy")
    Bonjour à tous,
    J'ai un problème pour convertir une chaine string "ddMMyy" en Date pour après l'insérer dans une requête SQL (BDD MySql).

    Alors voilà en fait c'est lors d'une lecture de fichier .txt que je récupère des variables string à des lignes spécifiées, et voilà ce que j'ai essayé, mais le format rentré est invalide me dit le message d'erreur.

    donc ici je récupère la 51ème ligne du fichier .txt, comprenant la date de type "ddMMyy", et je la stock dans une variable, et il faudrait qu'elle soit au format Date...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    case 51:
          var4 = ligne;
          DateTime.ParseExact(var4, "ddMMyy", null); 
          break;
    Après du coté Base de Données, j'utilise des paramètres, donc j'affecte la paramètre "date":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    MySqlParameter paramdate = new MySqlParameter("@date", MySqlDbType.Date);
                paramprix.Value = row[3];
     
    //...
     
    String sql2 = string.Format("INSERT INTO ***(Date, ***, ***) VALUES({0},{1},{2})", paramdate.ParameterName, param***.ParameterName, param***.ParameterName);
                MySqlCommand cmd2 = new MySqlCommand(sql2.ToString(), Connection);
                cmd2.Parameters.Add(paramdate);
                cmd2.Parameters.Add(param***);
                cmd2.Parameters.Add(param***);
     
    //...
    Mais voilà je n'arrive pas à récupérer cette date via variable!
    Pouvez vous m'aider s'il vous plait?
    Merci d'avance!

  2. #2
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    dans ton code, on ne voit nulle part où tu affectes une valeur à "paramdate" et de plus tu devrais ajouter d'abord tes paramètres avant d'exécuter ta commande

  3. #3
    Membre confirmé Avatar de Saten
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    Je ne l'ai pas mis désolé, mais voilà comment ça fonctionne...

    D'abord:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string[] row0 = { var1, var2, var3, var4};
    Les variables que l'on va récupérer iront dans un tableau string.

    Puis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dataGridView1.Rows.Add(row0);
                dataGridView1.Columns[0].DisplayIndex = 1;
    On met en Grid tout ça.

    Puis:Pour une raison Tiers, je duplique le tableau pour séparer les usages.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MySqlParameter paramdate = new MySqlParameter("@date", MySqlDbType.Date);
    Là je crée la paramètre date.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    paramprix.Value = row[3];
    J'affecte au paramètre une valeur : row[3] (= ma date)

    -----------------------------------

    Tu me dis:
    "et de plus tu devrais ajouter d'abord tes paramètres avant d'exécuter ta commande "
    Pas nécessairement, cela ne change rien. C'est un ajout à mon application que de récupérer la date, avant ça marchait très bien avec les paramètres après...

    -----------------------------------

    Et enfin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime.ParseExact(var4, "ddMMyy", null);
    La apparemment, il veut pas me convertir ça :s
    Le format de la chaine d'entrée est incorect.

  4. #4
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MySqlParameter paramdate = new MySqlParameter("@date", MySqlDbType.Date);
    paramprix.Value = row[3];
    paramdate != paraprix

    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime.ParseExact(var4, "ddMMyy", null);
    pourqoui ne pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime madate = Convert.ToDateTime(var4);

  5. #5
    Membre confirmé Avatar de Saten
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    Citation Envoyé par fally Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MySqlParameter paramdate = new MySqlParameter("@date", MySqlDbType.Date);
    paramprix.Value = row[3];
    paramdate != paraprix
    Merci! Lol, une belle gourde que j'ai pas vu!

    Citation Envoyé par fally Voir le message
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime.ParseExact(var4, "ddMMyy", null);
    pourqoui ne pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime madate = Convert.ToDateTime(var4);
    J'ai tout fait, j'ai d'ailleurs déplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime madate = Convert.ToDateTime(var4)
    juste avant la mise en paramètre.

    et là j'ai une nouvelle erreur:
    "La chaine n'a pas été reconnue en tant que DateTime valide."


    Edit: string var4 contient simplement : "041208" de type ddMMyy.

  6. #6
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Citation Envoyé par Saten Voir le message
    Merci! Lol, une belle gourde que j'ai pas vu!



    J'ai tout fait, j'ai d'ailleurs déplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime madate = Convert.ToDateTime(var4)
    juste avant la mise en paramètre.

    et là j'ai une nouvelle erreur:



    Edit: string var4 contient simplement : "041208" de type ddMMyy.
    Dans les exempled que tu montres tu n'affectes jamais le resultat de ton DateTime.ParseExact

    C'est plutôt ceci qu'il faut mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DateTime madate = DateTime.ParseExact(var4, "ddMMyy", null);

  7. #7
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    La question est p-e bete, mais, qu'est-ce que tu as dans var4 au moment du parseexact ?

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. convertion d'un String en date dans jTextfield
    Par ra'uf dans le forum Composants
    Réponses: 5
    Dernier message: 03/06/2009, 13h29
  2. convertion d'une string en date
    Par robert_trudel dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 02/07/2008, 19h04
  3. hql: convertion de string en date
    Par osoumayaj dans le forum Hibernate
    Réponses: 3
    Dernier message: 04/01/2007, 13h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo