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 :

le code fonctionne puis cesse


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    chargé d'affaire commercial
    Inscrit en
    Mai 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chargé d'affaire commercial
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 45
    Par défaut le code fonctionne puis cesse
    Bonjour
    je suis en train de développer une application de gestion mais j ai une problème lorsque je teste mon code il commence a fonctionne parfaitement mais soudain il cesse et affiche ce message :
    Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans System.Data.dll

    Informations supplémentaires*: Erreur non spécifiée

    et voila capture d écran
    Nom : CN.png
Affichages : 207
Taille : 141,0 Ko

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Ton titre n'est pas vraiment exacte, ton programme plante lors d'une sélection dans le combobox, ton programme fonctionne tant que tu ne fais pas une cette sélection.
    Le problème se produit pour n'importe quelle sélection ?

    Peux tu nous mettre le code (Copier/Coller entre les balise [CODE].... ICI LE CODE ....[/CODE]) de la déclaration de procédure Private Sub ComboBox2_Select..... plutôt que la capture d'écran, la boite d'avertissement masque ses informations qui seraient utiles pour te proposer des solutions.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre confirmé
    Homme Profil pro
    chargé d'affaire commercial
    Inscrit en
    Mai 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chargé d'affaire commercial
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 45
    Par défaut
    tout d'abord pour comprendre le changement de valeur dans list-box1 provoque un changement de valeur de combobox4
    le programme se plante après quelque tentative lors de la sélection dans liste-box qui est relié par code au changement de valeur dans combobox4 mais ne se plante pas au premier exécution
    voici l'emplacement de l’erreur selon VS
    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
     
        Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox4.SelectedIndexChanged
     
            Dim vn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\agrimed.mdb")
            vn.Open()
            Dim cmdb As New OleDbCommand("select [Code Frs],[Raison Sociale] FROM fournisseur where [Code TVA]=@c1", vn)
            With cmdb.Parameters
                .Add("@c1", OleDbType.Char).Value = ComboBox4.Text
            End With
            Dim dra As OleDbDataReader = cmdb.ExecuteReader
            Do While dra.Read
                ComboBox2.Text = (dra.GetString(0))
                ComboBox3.Text = (dra.GetString(1))
     
            Loop
            vn.Close()
            vn = Nothing
    NB:Lorsque la sélection se fait dans combobox4 Directement sans l intermédiaire de list-box1 LE programme ne se plante pas le plantage se fait juste après la sélection dans Listbox1

    Merci

  4. #4
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    Essaie d'ajouter la fermeture du DataReader :

    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
     
    ' ... ... ...
            Dim dra As OleDbDataReader = cmdb.ExecuteReader
            Do While dra.Read
                ComboBox2.Text = (dra.GetString(0))
                ComboBox3.Text = (dra.GetString(1))
            Loop
     
    ' Fermeture du DataReader 
     
             dra.Close
     
    ' ... ... ...  et aussi : 
     
            cmdb.Dispose()
            vn.Close()
            vn.Dispose()
     
      '''''''''      vn = Nothing
    Bonne journée,


  5. #5
    Membre confirmé
    Homme Profil pro
    chargé d'affaire commercial
    Inscrit en
    Mai 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chargé d'affaire commercial
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 45
    Par défaut
    Bonjour

    j ai essayé de fermer le data reader encore même problème

  6. #6
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Ne peux tu poster le code complet du Form concerné ?
    Au moins tout ce qui agit avec le ListBox et avec les ComboBox.
    Selon tes messages, je suppose que cela fonctionne parfois et donc, que la liaison avec la DB est correcte.

    Autre chose, à propos de la fermeture du DataReader, as-tu bien utilisé TOUT le code que j'ai envoyé ?
    Et pas seulement dra.Close ?

    Bonne journée

  7. #7
    Membre confirmé
    Homme Profil pro
    chargé d'affaire commercial
    Inscrit en
    Mai 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chargé d'affaire commercial
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 45
    Par défaut
    bonjour
    oui j ai inséré tout le code que tu m'as proposé .
    autre information VS indique que l'erreur dans la connexion vn pourtant la même connexion vn elle fonctionne bien avec tout les autres formulaires
    et dans ce formulaire lui même dans des autres codes . j ai pas compris pourquoi et je suis sur que le code de connexion(définition de chemin de base de donné oledb ) est juste .
    code
    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
     
        Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox4.SelectedIndexChanged
            Dim vn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\agrimed.mdb")
            vn.Open()
            Dim cmdb As New OleDbCommand("select [Code Frs],[Raison Sociale] FROM fournisseur where [Code TVA]=@c1", vn)
            With cmdb.Parameters
                .Add("@c1", OleDbType.Char).Value = ComboBox4.Text
            End With
            Dim dra As OleDbDataReader = cmdb.ExecuteReader
            Do While dra.Read
                ComboBox2.Text = (dra.GetString(0))
                ComboBox3.Text = (dra.GetString(1))
     
            Loop
     
            dra.Close()
     
     
     
            cmdb.Dispose()
            vn.Close()
            vn.Dispose()
        End Sub

  8. #8
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Oui, j'ai vu que l'erreur était sur la connexion, c'est pourquoi de t'ai indiqué de ne pas oublier de la fermer.
    De plus, il est prudent de détruire avec Dispose tout objet instancié avec New dans la portée. Cela est fait lorsque tu ajoutes tout mon code.
    Alors, je ne peux pas t'aider sans pouvoir exécuter ton code. Ne peux-tu mettre le nécessaire, avec un extrait de DB, sous zip et le poster, ou bien le déposer quelque part, sous Dropbox par exemple ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/04/2015, 17h24
  2. Réponses: 6
    Dernier message: 12/04/2007, 13h58
  3. <time.h> code fonctionnant sous WIN32 et Linux
    Par sixkiller dans le forum C++
    Réponses: 2
    Dernier message: 15/11/2006, 17h09
  4. [JMF] Code fonctionnant sous Linux mais pas sous XP
    Par Monsieur_Max dans le forum Multimédia
    Réponses: 4
    Dernier message: 25/05/2006, 18h57
  5. Un alert() en plus et mon code fonctionne, sans il foire :|
    Par narnou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/03/2006, 13h44

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