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 :

Utilisation de la valeur de retour d'une fonction


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 66
    Points : 83
    Points
    83
    Par défaut Utilisation de la valeur de retour d'une fonction
    Bonjour à tous.

    J'essaies de récupérer la valeur retour de ma fonction AfficherSolde pour l'utiliser dans dans une autre fonction Enregistrer afin de faire une vérification. la vérification est que: la fonction AfficheSolde effectue la somme total du montant de la caisse et je souhaiterais que si ce montant est inferieur au montant de la caisse un messageBox apparaisse signlant que le solde de la caisse est inssufissant. J'ai mis un point d'arret sur sol et c'est 0 il contient comme valeur.

    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
    public long AfficherSoldeEntree()
            {
              ChargeMouvement();
                var cmd = new MySqlCommand("", Connection);
                cmd.CommandText = ("SELECT SUM(MVT_MONTANT * MVT_TYPE) FROM MOUVEMENT");
                Connection.Open();
                long s = Convert.ToInt64(cmd.ExecuteScalar());
                Connection.Close();
                return s;
            }
     
            public void EnregistrerSortie(Sortie sortie)
            {
                var sol = AfficherSoldeEntree();
                if (sortie.Montant < sol)
                {
                    MessageBox.Show("le solde de la caisse est inferieur au montant que vous voulez retirer");
                }
                var id = EnregistrerMouvement(sortie);
                var cmd = new MySqlCommand("", Connection);
                cmd.CommandText = string.Format(sortie.Id == 0 ? "insert into Sortie (mvt_id, cd_id) values({0}, {1})" : "update Entree set cr_id={1} where mvt_id={0} ", id, sortie.CdId);
                Connection.Open();
                cmd.ExecuteNonQuery();
                Connection.Close();
                ChargeEntree();
            }

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    si tu lances ta requête dans un client de ton SGBD tu obtiens quoi ?
    Parce que le code de ta fonction AfficherSoldeEntree me parait correct (en tout cas plus que son nom ou la requête :p)

    NB : Convert.ToInt64(null) renvoie 0 pour info
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 66
    Points : 83
    Points
    83
    Par défaut
    la requete est bonne. le client SGBD me donne le montant de la caisse. Alors je me dis que c'est mon appel de la valeur retourné de ma fonction qui n'est surement pas bien faite

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Mets le retour de ExecuteScalar dans une variable avant de la caster et passe en pas-à-pas, voir ce qu'elle te renvoie.
    Plus je connais de langages, plus j'aime le C.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 66
    Points : 83
    Points
    83
    Par défaut
    Merci à tous je me suis mélangé les pédales. Sa passe maintenant.

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

Discussions similaires

  1. Problème avec valeur de retour d'une fonction
    Par ouranos21 dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 20/01/2009, 08h52
  2. Réponses: 4
    Dernier message: 19/01/2009, 11h12
  3. Réponses: 5
    Dernier message: 14/06/2008, 13h30
  4. Réponses: 5
    Dernier message: 13/06/2007, 15h05
  5. Réponses: 5
    Dernier message: 18/09/2006, 14h17

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