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 :

concaténer date et heure


Sujet :

C#

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Par défaut concaténer date et heure
    Bonsoir,
    je voudrais concaténer deux donnés: date et heure, l'une issue d'un calendar et l'autre d'un textbox. Je voudrais qu'une fois validés, ces champs se concatènent parce que dans ma base, ces deux champs ne forment qu'une colonne.

    Merci d'avance

    J'ai bien essayé des petits trucs mais sans résultats

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    y a plusieurs 10aines de méthodes pour faire ca

    sur ta date tu peux faire AddHours et AddSecondes et prendre ce qu'il y a dans le string du textbox (avec du split dans le pire des cas)

    date.Tryparse sinon avec une concaténation de la partie date de ta variable date et le contenu du textbox
    etc...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Par défaut Balises code oubliées
    Merci pour l'info.

    J'ai aussi fini par trouver quelque chose mais je n'arrive pas à le généraliser. Et
    oui je débute.

    Mon code donne ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    cmdInsert1.CommandText = @"INSERT INTO maTable (id, entree, sortie)
                                              VALUES (SEQ_INTERV.nextval,?,?)";
     
    string dateString = "11/22/2008 11:30:52";
                DateTime date1 = DateTime.Parse(dateString, CultureInfo.InvariantCulture);
                string date2String = "11/22/2008 11:40:52";
                DateTime date2 = DateTime.Parse(date2String, CultureInfo.InvariantCulture);
     
    cmdInsertInterv.Parameters.Add(new OleDbParameter("@ENTREE", date1));
                cmdInsertInterv.Parameters.Add(new OleDbParameter("@SORTIE", date2));
     
                cnx.Open();
                cmdInsert1.ExecuteNonQuery();
                cnx.Close();

    Alors là, en brut, ça marche. Mais je n'arrive pas à faire passer mes paramètres: mon calendar et mon textbox qui à eux deux me donnent une date + heure.

    Quand au format dans la base, c'est "dd/mm/yyyy hh:mi:ss'


    Je m'y remets demain, mais si quelqu'un a une piste...

  4. #4
    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
    Bonsoir,

    Citation Envoyé par ifsera Voir le message
    Alors là, en brut, ça marche. Mais je n'arrive pas à faire passer mes paramètres: mon calendar et mon textbox qui à eux deux me donnent une date + heure.
    Personnelement, si la date du calendar est deja au format date, sans heure, elle doit etre a "dd/mm/yyyy 00:00:00"...

    Donc, si tu fais qq chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DateTime date = calendar.Date;
    DateTime time = DateTime.Parse(textbox.Text, CultureInfo.InvariantCulture);
    date.Add(new TimeSpan(time.Hour, time.Minute, time.Second));
    ca devrait te donner la date

    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.

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Par défaut Balises code oubliées
    Merci Pvialatte mais ça marche pas,
    J'utilise un datetimepicker et un txtbox pour faire la concaténation. Je sais pas si ça joue.

    Sinon voilà ce que donne mon code. Désolé pour la structure.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    private void btmValider_Click(object sender, EventArgs e) 
    { 
    OleDbCommand cmdRecupno = new OleDbCommand(); 
    cmdRecupno.Connection = cnx; 
    cmdRecupno.CommandText = @"select no 
    from op 
    where op.nom = '+ cbOp.Text' "; 
     
     
    OleDbCommand cmdInsertInt = new OleDbCommand(); 
    cmdInsertInt.Connection = cnx; 
     
    cmdInsertInt.CommandText = @"INSERT INTO int (noint,noop, entree, sortie) 
    VALUES (SEQ_INT.nextval,?,?,?)"; 
     
     
    string dateString = "11/22/2008 11:30:52"; 
    DateTime date1 = DateTime.Parse(dateString, CultureInfo.InvariantCulture); 
    string date2String = "11/22/2008 11:40:52"; 
    DateTime date2 = DateTime.Parse(date2String, CultureInfo.InvariantCulture); 
     
    cmdInsertInterv.Parameters.Add(new OleDbParameter("@NOOP",cmdRecupno)); 
    cmdInsertInterv.Parameters.Add(new OleDbParameter("@ENTREE", date1)); 
    cmdInsertInterv.Parameters.Add(new OleDbParameter("@SORTIE", date2)); 
    cnx.Open(); 
    cmdRecupno.ExecuteNonQuery(); 
    cmdInsertInt.ExecuteNonQuery(); 
    cnx.Close(); 
    }
    C'est bon, merci. J'ai réadapté à mon cas, et ça tourne.
    Un parse de plus.

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

Discussions similaires

  1. Concaténer date et heure
    Par totot dans le forum SQL
    Réponses: 13
    Dernier message: 07/04/2015, 14h25
  2. SAS concaténer caractère avec date et heure
    Par freygeo dans le forum SAS Base
    Réponses: 6
    Dernier message: 19/07/2012, 17h05
  3. Concaténer date et heure en Java date
    Par marouene_ dans le forum Général Java
    Réponses: 1
    Dernier message: 06/05/2012, 21h02
  4. concaténation date + heure dans une requete
    Par erox44 dans le forum SQL
    Réponses: 2
    Dernier message: 25/04/2008, 10h43
  5. Concaténer date et heure
    Par soso78 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 16/12/2007, 13h47

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