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 :

Renvoie vers "protected override void Dispose(bool disposing)"


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    stagiaire IT
    Inscrit en
    Août 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire IT
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 78
    Par défaut Renvoie vers "protected override void Dispose(bool disposing)"
    Bonjour à tous!

    voilà, j'ai effectué une modif dans mon code, et par le plus grand des malheurs, malgré plusieurs tentatives de modification ultérieures, j'obtiens toujours un renvoie vers la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    A quoi sert-elle? pourquoi apparait-elle généralement?

    Voici mon code et l'endroit qui bug (en plus de mon cerveau) :

    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
     
    DataSet oDS;
                // ouvrir la base de données
                DbProviderFactory dbpf = DbProviderFactories.GetFactory("System.Data.OleDb");
                DbConnection oConn = dbpf.CreateConnection();
                oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BDD.mdb";
                DbDataAdapter oDA = dbpf.CreateDataAdapter();
                oDA.SelectCommand = oConn.CreateCommand();
                oDA.SelectCommand.CommandText = "SELECT * FROM Couts_liquidité_USD ";
                oDS = new DataSet();
                oDA.Fill(oDS);
     
                //Param_Liquidity = (double)oDS.Tables[0].Rows[0][0];
                int Parametre = int.Parse((Math.Truncate(MaturiteBullet / 12)).ToString())-1;
                double a = double.Parse(oDS.Tables[0].Rows[Parametre][2].ToString()); //<==== ça renvoie à partir d'ici 
                double b = double.Parse(oDS.Tables[0].Rows[Parametre][1].ToString());
     
                oConn.Close();
    Voilà, c'est pas forcément hyper propre, et c'est certainement ça qui provoque l'override, mais je voie pas pourquoi :/

    merci pour vote aide!

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Tu peux reformuler parceque je comprends rien!

    C'est quoi le soucis? C'est quoi pour toi "un renvoi"? Une exception?Si oui tu peux indiquer le message?

    Pour l'une des questions c'est l'interface IDispose :
    http://msdn.microsoft.com/fr-fr/libr...e.dispose.aspx

  3. #3
    Membre confirmé
    Homme Profil pro
    stagiaire IT
    Inscrit en
    Août 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire IT
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 78
    Par défaut
    A l'endroit indiqué dans le deuxième bout de code, j'ai un renvoie automatique vers le premier bout de code, ce qui ne "devrait" pas se produire !

  4. #4
    Membre confirmé
    Homme Profil pro
    stagiaire IT
    Inscrit en
    Août 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire IT
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 78
    Par défaut
    C'est exactement ça Giova, mais je ne vois pas ce qui le provoque justement pourtant c'est loin d'être ma première requête de ce type, je suis un peu perdu là

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    dur à dire, ca m'est arrivé une fois parcequ'un autre thread jetait une exception.

    Peut etre que c'est votre DbAdapter qui plante....

    D'autant que comme vous dites votre code est un peu cracra

    blindez un peu votre ligne qui pose problème, assurez vous que les champs existe avant de faire un parse.

    Perso je commencerai par là.

  6. #6
    Membre confirmé
    Homme Profil pro
    stagiaire IT
    Inscrit en
    Août 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire IT
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 78
    Par défaut
    d'habitude, dès le remplissage du dataset, j'ai le message d'erreur s'il n'y a pas de champs, et une erreur si le dataset est vide lors de la requête, du coup j'ai vérifié, et la requête SQL est correcte après vérification, je suis vraiment dans la bouillabaisse là, mais je continu de creuser!

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    Dispose sert à libérer les ressources qui ont été assignés.

    c'est d'ailleur l'endroit idéal où vous devriez (entre autre) écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(oConn != null)
       oConn.Dispose();
    Le Dispose que vous montrez est celui de votre Form, il est appellé lorsque la fenetre s'appette à se fermer.
    Quelque chose déclenche la fermeture de votre fenetre, c'est ce que vous devez trouver.

  8. #8
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    Bonjour,

    Tout d'abord entoures ton code de try/catch.
    Si tu as désactivé l'arrêt sur certains types d'exceptions dans visual studio, on ne peut pas le savoir.
    Ensuite, comme t'as dit micka132, fais des recherches sur IDisposable, parce que l'accès à une base de données utilise des ressources non managées, il est impératif de les nettoyer. Tu as deux solutions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oConn.Close();OConn.Dispose();
    ou ce que je préfère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    using (DbConnection oConn = dbpf.CreateConnection())
    {
    //Ton code
    }
    Si tu fais un "select *", rien ne te garantie que les champs soient dans le même ordre et donc que la ligne suivante ne renvoie pas d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     double a = double.Parse(oDS.Tables[0].Rows[Parametre][2].ToString()); //<==== ça renvoie à partir d'ici 
                double b = double.Parse(oDS.Tables[0].Rows[Parametre][1].ToString());
    Sinon utilises la méthode double.TryParse...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    double a, b;
    if ( double.TryParse(oDS.Tables[0].Rows[Parametre][2].ToString()), out a)
    {
      //ton code
    }
    if ( double.TryParse(oDS.Tables[0].Rows[Parametre][1].ToString()), out b)
    {
      //ton code
    }
    et encore une chose, revoies bien ce code que je trouve incertain!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oDS.Tables[0].Rows[Parametre][2].ToString()
    Bon dév...

  9. #9
    Membre confirmé
    Homme Profil pro
    stagiaire IT
    Inscrit en
    Août 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire IT
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 78
    Par défaut
    Je vais aller dans ce sens! par contre je n'ai pas désactivé d'arrêt.

    Merci!

Discussions similaires

  1. Réponses: 9
    Dernier message: 16/06/2006, 15h05
  2. Renvoie vers la page d'authentification!!
    Par mamiberkof dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 29/04/2006, 19h30
  3. Validation de formulaire ET renvoi vers autre page
    Par mosquitout dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/11/2005, 10h22
  4. Validation formulaire ET renvoi vers autre page
    Par mosquitout dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/11/2005, 20h29

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