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 :

Fonction éxecuter que en pas à pas


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 52
    Par défaut Fonction éxecuter que en pas à pas
    Bjr a tous,
    j'ai un soucis qui me parrait pas annodin.
    dans mon code j'apel une fonction que j'ai écris. Mon probléme c'est que lors de l'éxecution, il passe pas dans la fonction. Je dois mettre un point d'arret sur l'appel de la fonction pour le forcer à y entrer sinon il la saute. Et comme j'ai fais 2 fonction quasi similaire, bah il me pose se pb sur les 2 appels aux fonctions, donc je dois mettre 2 point d'arret et sa me soule

    voici mon code :
    fonction appelante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Sub NewRCs_enreg(ByVal int_strat_id As Integer)
    ...
    Dim sql_rcname As String
                Dim sql_LastRC_id As Integer
                Dim recup_LastRc_id As Integer
    (point d'arret!)   recup_LastRc_id = Recupere_Last_RC_id(sql_LastRC_id)
                sql_rcname = "RC_" + recup_LastRc_id.ToString()
    
    ....
     End Sub
    fonction appeler :
    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 Function Recupere_Last_RC_id(ByVal Last_RC_id As Integer) As Integer
            'creer un objet connexion ainsi qu'un objet command
            Dim myConnexion As OleDbConnection = New System.Data.OleDb.OleDbConnection(My.Settings.Map_ConnectionString())
            Dim myCommand As OleDbCommand = New System.Data.OleDb.OleDbCommand()
     
            'on creer une variable pour recuperer la donnée rechercher
            ' Dim sql_RC_id_last As Integer
            myCommand.CommandText = "select max(RC_id) from RCs;"
            myCommand.Connection = myConnexion
     
            Try
                'ouvre la connexion a la bdd
                myConnexion.Open()
                'execute notre commande
                ' sql_RC_id_last = myCommand.ExecuteNonQuery()
                Last_RC_id = myCommand.ExecuteScalar()
     
     
            Catch ex As OleDb.OleDbException
                MessageBox.Show(ex.ToString)
            End Try
            'fermeture de la connexion
            myConnexion.Close()
     
            Return Last_RC_id
        End Function

  2. #2
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    Et bien, tu met ton point d'arrêt, et lorsque ton exécution ce stop et te montre le code, tu appuie sur F11 (VS 2010) pour faire le pas-à-pas.

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 52
    Par défaut
    Oui mais justement je ne veux pas mettre de points d'arret pour qu'il entre dans les fonctions appelées. je ne devrais pas avoir à faire cela pour qu'il les execute normalement. donc pourquoi sa marche pas?*
    Mes fonctions sont Public, ya pas de probléme de nom ou quoi que se soit !!!

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    J'ai jamais vu un truc comme ça... Tu es sûr que tu n'as pas tout simplement mal interprété les résultats observés ?

    Essaie de mettre des traces de debug (Debug.Print) dans tes fonctions pour voir si elles sont exécutées, plutôt que des breakpoints

  5. #5
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    Lors d'une exécution en pas-à-pas, ton "sql_LastRC_id" est bien initialisé dans " recup_LastRc_id = Recupere_Last_RC_id(sql_LastRC_id)" ?

    Lors du passage dans la fonction, ton "Last_RC_id" du return possède bien une valeur ?

  6. #6
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 52
    Par défaut tjr pas !
    J'ai mis des debug.print() dans mes fonctions appeler, et pas de miracle !!
    aucun msg, donc il ne passe vraiment pas dedans lorsque j'enleve les points d'arret.
    la je séche.

  7. #7
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 52
    Par défaut
    AcidLines
    Oui lorsque je fait du pas à pas, mon sql_LastRC_id return bien la valeur rechercher. mais lorsque je ne mes pas le point d'arret il saute la ligne de code et donc n'entre meme pas dans la fonction appeler et donc forcement la valeur de mon sql_LastRC_id="" puisque elle n'a pas été instancié par ma fonction Recupere_Last_RC_id(sql_LastRC_id)

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

Discussions similaires

  1. éxecution du code source pas à pas
    Par guaguanco dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/06/2010, 16h05
  2. une fonction recursive que je ne comprend pas
    Par Jcpan dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2009, 13h34
  3. [Débutant] Fonction surface ya un truc que je pige pas
    Par PaM... dans le forum MATLAB
    Réponses: 6
    Dernier message: 17/02/2009, 10h11
  4. Réponses: 2
    Dernier message: 24/04/2007, 20h04
  5. erreur que j ai pas comprise ds mon pg informix
    Par zineb dans le forum Informix
    Réponses: 2
    Dernier message: 16/07/2003, 13h53

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