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

VB.NET Discussion :

Problème de modification de données de type date [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Par défaut Problème de modification de données de type date
    Bonjour,
    Je n'arrive pas à modifier des données de type date.En fait sur mon formulaire,j'arrive à entrer des données de type date(vide ou pas) mais le problème c'est que lorsque j'enregistre des données et que je ne renseigne pas la date (avec ce code)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Not IsDate(Me.Dat_adhtxt.Text) Then
                cmd.Parameters.AddWithValue("@Date_adhésion", DBNull.Value)
            Else
                cmd.Parameters.AddWithValue("@Date_adhésion", DateTime.Parse(Me.Dat_adhtxt.Text))
            End If
    Pas de problème.Si par la suite je veux modifier et mettre une date à la place du vide précédemment enregistré,c'est là que j'ai pas de modification et j'ai un message d'erreur.(voir code modification)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        Private Sub cmd_modifier_Click(sender As System.Object, e As System.EventArgs) Handles cmd_modifier.Click
     
                'récupération de la ligne dans le datarow
                dtr = ds.Tables("Membre").Rows(rownum)
     
                'modification des donées
                dtr("ID_Membre") = Me.Matr_txt.Text
            dtr("Date_adhésion") = Me.Dat_adhtxt.Text 'La chaîne n'a pas été reconnue en tant que DateTime valide.Impossible de stocker <  /  /> dans la colonne Date_adhésion. Type attendu est DateTime.
    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    Bonjour,

    Essayes de passer par un TryParse comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Dim isDateRight = DateTime.TryParse(Me.Dat_adhtxt.Text, dtr("Date_adhésion"))
    if not isDateRight Then
    'Message d'erreur à l'utilisateur
    End If

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 130
    Par défaut
    pourquoi ne pas utiliser les MaskedTextBox c plus facile

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par abdego Voir le message
    pourquoi ne pas utiliser les MaskedTextBox c plus facile
    Une maskedtExtBox ne délivrera pas plus un type DateTime qu'un TextBox.

    Si il veut délivrer un type DateTime directement depuis son controle, il doit utiliser un "Datetime picker".

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 130
    Par défaut
    dans les Maskedtextbox il y a possibilité de définir la masque de saisie de la date Voulus

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par abdego Voir le message
    dans les Maskedtextbox il y a possibilité de définir la masque de saisie de la date Voulus
    Ca ne change strictement rien au fait que cela retourne un String et pas un DateTime.

  7. #7
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Par défaut
    C'est réglé. Merci à tous

  8. #8
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 130
    Par défaut
    ta fait quoi ?? comme solution

  9. #9
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Par défaut
    Voilà j'ai utilisé ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Not IsDate(Me.Dat_adhtxt.Text) Then
                cmd.Parameters.AddWithValue("@Date_adhésion", DBNull.Value)
            Else
                dtr("Date_adhésion") = Me.Dat_adhtxt.Text
            End If
    Merci à tous

  10. #10
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par hugnka Voir le message
    Pas de problème.Si par la suite je veux modifier et mettre une date à la place du vide précédemment enregistré,c'est là que j'ai pas de modification et j'ai un message d'erreur.
    Cette erreur est tout à fait normale.
    En effet à l'insertion, tu ajoutes un paramètre en précisant une interprétation de type (=> DateTime).

    A la modification, tu essaye d'affecter une chaine de caractères à un DateTime, ce qui n'est pas vraiment compatible.

    Donc, transformer la chaine contenu dans le TextBox en DateTime via DateTime.Parse ou DateTime.TryParse (ce dernier cas permet de vérifier le format "date" de la chaine sans lever d'exception).

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

Discussions similaires

  1. Problème données de type date lors de l'insertion
    Par NarbOni dans le forum Administration
    Réponses: 1
    Dernier message: 12/04/2011, 10h28
  2. Réponses: 2
    Dernier message: 30/11/2008, 21h10
  3. Problème ajout dans un liste déroulante type DATE
    Par lerorodu51 dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/06/2008, 15h37
  4. [ADO vers Access] Modification de données de type Mémo.
    Par botakelymg dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/01/2008, 10h39
  5. Réponses: 13
    Dernier message: 30/11/2006, 14h00

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