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 :

probleme textbox vide.


Sujet :

C#

  1. #1
    Membre du Club Avatar de zakaroh
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 48
    Points
    48
    Par défaut probleme textbox vide.
    bonjour,
    en fait quand je remplis ma table par fois je laisse des textbox vide car j'ai pas de valeur a saisir. j'ai un message d erreur;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Input string was not in a correct format,
    mais une fois tout les textbox sonr remplis ca marche .
    merci

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Ton textbox est bindé, non ? Par exemple, si un textBox est bindé à une propriété de type int, tu auras cette erreur, parce qu'il est impossible de convertir une chaîne vide en valeur numérique.
    ಠ_ಠ

  3. #3
    Membre du Club Avatar de zakaroh
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 48
    Points
    48
    Par défaut
    mon textbox est type float.

  4. #4
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Quel est la nature de l'objet métier auquel le TextBox est bindé ? Une DataTable ? Une propriété d'un objet à toi ?
    ಠ_ಠ

  5. #5
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Alors, il faut lui dire que qd la chaine est vide, il met 0 a la place...
    surement ds l'evenement TextChanged.

  6. #6
    Membre du Club Avatar de zakaroh
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 48
    Points
    48
    Par défaut
    l'objet métier auquel le TextBox est bindé ? Une DataTable
    c'est pour remplir une table donc une data table.

    il faut lui dire que qd la chaine est vide, il met 0 a la place...
    je veux pas avoir 0 comme valeur par defaut. car ca me dérange dans un un calvul d'Average

  7. #7
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par zakaroh Voir le message
    je veux pas avoir 0 comme valeur par defaut. car ca me dérange dans un un calvul d'Average
    Il faut alors que la colonne de ta Datatable soit Nullable. Sinon, elle aura forcément une valeur.
    ಠ_ಠ

  8. #8
    Membre du Club Avatar de zakaroh
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 48
    Points
    48
    Par défaut
    ma colonne est Nullable.
    quand je fait le saisie dans ma base de donnée directement ca fonctionne mais avec des valeur null,
    donc je pense qu'il faut que je rends mon textbox nullable c'est adire que quand c'est vide j'airai la valeur null par défaut..

  9. #9
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    fait ce que je t'ai dis mais a la place de mettre 0, tu met la valeur que tu veux...
    Pour info, si ton textbox qui attent un float est nullable, ca sert a rien car le float ne peut pas etre null de tout facon.
    Ce qu'il faut faire, c'est rentre le champs de ta classe nullable egalement comme ca je crois :

  10. #10
    Membre du Club Avatar de zakaroh
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 48
    Points
    48
    Par défaut
    j'avoue que ne comprends pas.. est ce que tu peux m expliquer plus stp

  11. #11
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Si tu veux pouvoir avoir ton float a null, tu dois modifier l'attribut de ta classe comme ca :
    Tu comprend pas quoi ?

  12. #12
    Membre du Club Avatar de zakaroh
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 48
    Points
    48
    Par défaut
    merci,
    mais le X? il me l'accepte pas...
    est ce que je dois faire ca pour chaque textbox...

  13. #13
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    x? nan c'est float?. le nom de la variable ca doit rester "x". le point d'interrogation ca veut dire nullable. je pense que tu devrais acheter un livre et revoir les bases du C#. les types c'est la toute première leçon qu'importe le livre que tu prends :s et les types nullables nous sauvent la vie bien des fois
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  14. #14
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Vous pertubez Zakaroth, là

    Si j'ai bien tout compris, il a une TextBox directement bindée à un champ d'une datatable. Pas de variable float ou float? entre les deux.

    Le problème se résume à mon avis à savoir si l'on peut binder aisément une textbox à une colonne de DataTable nullable (nullable au sens Ado.net, pas au sens de la syntaxe "machin?" ajoutée avec .Net2). Jamais fait, donc je sais pas.
    ಠ_ಠ

  15. #15
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    peut etre existe-il une constante genre DBNull, mais je connais pas donc je te laisse chercher

  16. #16
    Membre du Club Avatar de zakaroh
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 48
    Points
    48
    Par défaut

    Si j'ai bien tout compris, il a une TextBox directement bindée à un champ d'une datatable. Pas de variable float ou float? entre les deux.

    Le problème se résume à mon avis à savoir si l'on peut binder aisément une textbox à une colonne de DataTable nullable (nullable au sens Ado.net, pas au sens de la syntaxe
    c'est exactement ca .

    j'ai essayé avec ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     command.Parameters.Add(new SqlParameter("@Effort_dedicated_to_change_request", System.DBNull.Value));
    mais je toujours le même problem.
    merci

  17. #17
    Membre du Club Avatar de zakaroh
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 48
    Points
    48
    Par défaut
    voila la solution si quelqu'un rencontre la même galére que moi..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    command.Parameters.Add(new SqlParameter("@test", SqlDbType.Float)); 
     
    if(textBox1.Text != "")
    {
    command.Parameters["@test"].Value = double.Parse(textBox1.Text, System.Globalization.CultureInfo.InvariantCulture); 
    }
    else command.Parameters["@test"].Value = System.DBNull.Value;

  18. #18
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Euh, y'a pas de binding dans ton code...

    je reprends : en fait, tu récupères les textes saisis dans des textbox, tu les castes dans des types numériques, puis tu affectes les valeurs ainsi obtenues à des paramètres d'un commande SQL ?

    Mais fais gaffe à ton code : si jamais l'utilsateur écrit pas "1.5" dans ta textbox mais "bob", ton double.Parse va te renvoyer la même exception que celle que tu as montré dans ton premier post. Donc sois tu vérifies que les valeurs sont bien valides avant de lancer ta commande (avec la fonction TryParse par exemple), soit tu affectes DbNull à ton paramètre si Parse lève une exception.
    ಠ_ಠ

  19. #19
    Membre du Club Avatar de zakaroh
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 48
    Points
    48
    Par défaut
    sur tout mes textbox j'ai limité les carctére ils acceptent que des chifre (12365468790) est le. et ,.

  20. #20
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    donc t'utilises l'utilisateur a ecrire ".21222,.44.,4.2.,.,42..4,..4.,.4,4.4.4,4.."
    Entre nous, si Float.Parse marche, chapeau.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. probleme textbox dans un updatepanel
    Par akli2008 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/06/2008, 02h04
  2. Probleme champs Vide
    Par papy75 dans le forum VBA Access
    Réponses: 3
    Dernier message: 20/04/2008, 17h37
  3. CustomValidator inopérant quand TextBox vide
    Par cyrano_de_bergerac dans le forum C#
    Réponses: 1
    Dernier message: 14/01/2008, 13h48
  4. probleme textbox date
    Par lesafir dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/07/2007, 10h38
  5. Problème noeud vide en XML
    Par Booyakha dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/04/2006, 15h53

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