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 :

Valeur null d'une MaskedTextbox


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 24
    Points
    24
    Par défaut Valeur null d'une MaskedTextbox
    Bonjour !

    Je vous explique mon problème j'ai une fonction INSERT INTO, j'aimerais laisser ma maskedTextbox vide car sa saisi n'est pas obligatoire , Je voudrais envoyer dans mon champ SQL une valeur null.

    Mon code fonctionne très bien mais je dois obligatoirement remplir ma maskedtextbox pour éviter un message d'erreur.

    Ma masked textbox à comme mask 0000/00/00

    Un grand merci de votre aide !

    Je laisse un bout de code (la maskedtextbox en question est en commentaire)
    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
     
     
    Adapter.InsertCommand = new SqlCommand("INSERT INTO AdmissionRecords (AdmissionID, PatientID, SurgeryScheduled, AdmitDate, SurgeryDate, DischargeDate) VALUES (@AdmissionID, @PatientID, @SurgeryScheduled, @AdmitDate, @SurgeryDate, @DischargeDate );" +
                  "INSERT INTO Beds (BedNumber, BedType, Occupied, WardName) VALUES (@BedNumber, @BedType, @Occupied, @WardName)", Connection);
     
                Adapter.InsertCommand.Parameters.Add("@AdmissionID", SqlDbType.NVarChar).Value = txtAdmissionID.Text;
                Adapter.InsertCommand.Parameters.Add("@PatientID", SqlDbType.NVarChar).Value = txtPatientID.Text;
                Adapter.InsertCommand.Parameters.Add("@SurgeryScheduled", SqlDbType.Bit).Value = checkBoxSurgerySchedule.Checked;
                //Adapter.InsertCommand.Parameters.Add("@SurgeryDate", SqlDbType.Date).Value = Convert.ToDateTime(this.maskedtxtDateChirurgie.Text);           
                Adapter.InsertCommand.Parameters.Add("@AdmitDate", SqlDbType.Date).Value = Convert.ToDateTime(this.maskedtxtDateAdmission.Text);
                Adapter.InsertCommand.Parameters.Add("@DischargeDate", SqlDbType.Date).Value = Convert.ToDateTime(this.maskedtxtDateCharge.Text);           
                Adapter.InsertCommand.Parameters.Add("@BedNumber", SqlDbType.NVarChar).Value = txtNumeroLit.Text;
                Adapter.InsertCommand.Parameters.Add("@BedType", SqlDbType.NVarChar).Value = txtBedType.Text;
                Adapter.InsertCommand.Parameters.Add("@Occupied", SqlDbType.Bit).Value = checkBoxOccupied.Checked;
                Adapter.InsertCommand.Parameters.Add("@WardName", SqlDbType.NVarChar).Value = txtWardName.Text;

  2. #2
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Bonjour,
    Ca aurait été plus facile avec le message d'erreur .
    Sinon se que tu peux essayer c'est que lorsque tu doit envoyer null dans ta Db, utilise

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    Merci de ta réponse

    Le message d'erreur est ''La chaîne n'a pas été reconnue en tant que DateTime valide.'' ces logique je fais un INSERT INTO s'en rien écrire dans ma MaskedBox, mais je cherchais un moyen de contourner le fais d'obligatoirement écrire dans mon MaskedBox pour éviter se genre d'erreur.

    Je suis finalement tomber sur une solution j'ai créé un IF le tout marche nickel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
                 if (maskedtxtDateChirurgie.Text == "")
                {
                    Adapter.InsertCommand.Parameters.Add("@SurgeryDate",    SqlDbType.Date).Value = SqlDateTime.Null;
                }
     
                else
                {
                    Adapter.InsertCommand.Parameters.Add("@SurgeryDate", SqlDbType.Date).Value = Convert.ToDateTime(this.maskedtxtDateChirurgie.Text);
     
                }

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 30/06/2006, 17h41
  2. clés et valeurs à null dans une HashMap typée
    Par Djakisback dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 06/06/2006, 13h04
  3. mettre une valeur nulle ds une zone deroulante
    Par gohu13 dans le forum Access
    Réponses: 2
    Dernier message: 14/10/2005, 15h38
  4. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02
  5. Affcecter une valeur NULL dans une requete paramétrée
    Par thiouwz2 dans le forum Bases de données
    Réponses: 7
    Dernier message: 05/11/2004, 15h02

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