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 :

C# problème indexoutofrangeexception


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 159
    Par défaut C# problème indexoutofrangeexception
    Bonsoir à tous, j'ai un problème car j'utilise un dataset qui a un liens entre deux tables et lorsque je me déplace dans le form, et je tombe sur une valeur qui n'est pas dans la deuxième table, j'ai le message d'erreur en me disant que l'exception n'est pas gérée et que l'index -1 n'a pas de valeur. Voici la ligne où est générée l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataRowView rowView = this.BindingContext[dbDs, "tp1_service.serviceemploye"].Current as DataRowView;
    serviceemploye est le nom de la liaison. Comment faire pour gérer cette exception et que le programme continue. J'ai joint une copie d'écran du programme. Merci à vous
    Images attachées Images attachées  

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Franchement je ne comprends pas vraiment ton problème.

    Ce que tu semble demander, c'est le baba de toute logique de programation

    Tester une valeur
    Tester si elle est nulle
    Tester si elle est négative
    Et le traitement conditionnel


    J'ai parfois l'impression que le fait d'avoir des IDE de plus en plus performant et de travailler en code managé fait oublier que programmer necessite quand meme certaines bases logique et d'analyse.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 159
    Par défaut
    J'y ai pensé à le faire mais je ne sais pas comment le faire car c'est un dataset, et comme on peut le voir sur la copie d'écran que j'ai mise, les données de employé sont liées à service, lorsque je me déplace dans service et qu'il n'y a rien dans employé, cela génère cette erreur au lieu de continuer.

  4. #4
    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
    Citation Envoyé par dinier Voir le message
    Bonsoir à tous, j'ai un problème car j'utilise un dataset qui a un liens entre deux tables et lorsque je me déplace dans le form, et je tombe sur une valeur qui n'est pas dans la deuxième table, j'ai le message d'erreur en me disant que l'exception n'est pas gérée et que l'index -1 n'a pas de valeur. Voici la ligne où est générée l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataRowView rowView = this.BindingContext[dbDs, "tp1_service.serviceemploye"].Current as DataRowView;
    serviceemploye est le nom de la liaison. Comment faire pour gérer cette exception et que le programme continue. J'ai joint une copie d'écran du programme. Merci à vous
    dis moi, Que vaut : this.BindingContext[dbDs,"tp1_service.serviceemploye"]?
    S'il est null c'est normal que ça plante...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 159
    Par défaut
    Oui, la valeur est nulle lorsque je me déplace sur un enregistrement de service et qu'il n'y a rien dans employé mais j'aimerai qu'il affiche tout en vide dans employé s'il n'y a rien dans employé qui correspond au service

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 159
    Par défaut
    serviceemploye est le nom de la liaison entre les deux tables dans le dataset

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 159
    Par défaut
    J'ai fait des test sur ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
                activeService = this.BindingContext[dbDs, dbDs.tp1_employe.TableName].Current as DataRowView;
                DataRowView rowView = this.BindingContext[dbDs, "tp1_service.serviceemploye"].Current as DataRowView;
                if ((bool)rowView.Row["sexe"] == true)
                        this.rb_masculin.Checked = true;
                else
                        this.rb_feminin.Checked = true;
    J'ai remarqué que lorsque j'enlevais cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataRowView rowView = this.BindingContext[dbDs, "tp1_service.serviceemploye"].Current as DataRowView;
    je n'avais plus cette erreur mais le problème, c'est que ce bout de code gère les boutons radio pour savoir s'il est selectionné ou pas, et je ne sais pas comment faire pour régler ce problème et je voudrais que cela affiche des champs vides dans employé. Merci

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

Discussions similaires

  1. [C# VS 2005]Problème de IndexOutOfRangeException
    Par MoscoBlade dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/10/2006, 14h56
  2. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  3. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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