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

ASP.NET Discussion :

[Dataset/Datatable] Comment résoudre une levée d'exception ?


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 25
    Points
    25
    Par défaut [Dataset/Datatable] Comment résoudre une levée d'exception ?
    Bonjour,

    J'affiche un DataSet dans un DataGrid.
    Tout va bien.

    Mais si j'essaye de lire la table du DataSet, dans une DataTable, j'ai le message suivant:

    Object reference not set to an instance of an object
    J'appelle la table comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    oDataTable = oDataset.Tables("matieres")
    Devrais-je utiliser une commande New en plus du Dim?
    Cordialement, et Merci à tous.

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Bonjour mourmaux ,

    Juste afin de s'assurer, es-tu sûr que l'exception est bien levée par cette ligne de code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    oDataTable = oDataset.Tables("matieres")
    Il faudrait faire un debuggage pas-à-pas pour être certain.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 25
    Points
    25
    Par défaut merci Neguib
    Bonjour Neguib,

    Merci de ta réponse. et de la correction du titre.
    L'erreur apparaît dès que j'ajoute cette ligne 131 pour travailler sur la table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    oDataTable = oDataset.Tables("matieres")
    If RowNumber <0 then Exit Sub
    LIGNE 131: 'If RowNumber > oDataTable.Rows.Count-1 then Exit Sub
    Deux lignes avant, j'assigne une table du DataSet à la table.
    Cette table "matieres" existe, puisque je la visualise dans un DataGrid.
    J'aimerais pouvoir la parcourir "à la main" pour faire des opérations (moyenne, max, min...)
    Peut-être que la pièce jointe pourrait être utile.
    Cordialement et merci.

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Bonjour mourmaux,

    Pourtant il te faut vérifier les differentes valeurs que prennent : RowNumber - oDataTable - oDataTable.Rows et oDataTable.Rows.Count
    lorsque tu es sur cette ligne de code pendant le debuggage pas à pas. Tu peux mettre un espion sur chacun de ces paramètres pour te faciliter la tâche et ainsi voir l'évolution de leur valeur.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 25
    Points
    25
    Par défaut d'accord Neguib
    Bonjour,
    et merci de ta réponse.
    Je vais effectivement tester comme tu le dis,
    mais comme tout est sous WEBMatrix, je suis un peu limité au niveau Debug.
    A moins que tu saches comment faire, après avoir ajouté Debug= "true" dans les directives de compilation, je suppose que dans le code je dois insérer des debug.print des éléments suspects.
    Bonne journée et cordialement.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 25
    Points
    25
    Par défaut Je cherche encore
    Bonjour à tous,

    Voilà, je n'ai toujours pas résolu mon problème mais j'ai avancé.
    Je souhaite comprendre le pourquoi.
    Depuis lors, comme j'étais sous Webmatrix, un peu coincé sur le debug, j'ai refait mon petit programme sous Visual Express et ma BD en Access, avec un DSN. Le problème est bien sûr le même.
    Pour l'instant, je ne parviens pas à activer le Debug, les icônes et le menu restant grisé, mais je vais trouver.
    Peut-être que je devrais créer un projet, et mettre mon code dans un fichier séparé, alors que pour l'instant mon code est dans la page .aspx.
    Cordialement à tous.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 25
    Points
    25
    Par défaut Trouvé
    Bonjour,

    Pour rappel, l'exception que j'avais était
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object reference not set to an instance of an object
    Depuis un mois...j'ai finalement compris.
    Suite à ma requête sSql, si j'écris, avec Dim MaRangee As DataRow

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    oDataSet=New DataSet("matieres")
    oDataAdapter.Fill(oDataSet)
    MaRangee=oDataSet.Tables("matieres").Rows(0)
    J'ai l'erreur.
    Mais si j'écris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oDataAdapter.Fill(oDataSet, "matieres")
    il n'y a plus de problème.

    Concernant mes min, Max et moyenne, j'ai utilisé avec bonheur ExecuteScalar() de l'Objet Command, et pour l'écart-type, je me suis fais une petite fonction.

    Cordialement à tous.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/08/2008, 20h07
  2. Réponses: 0
    Dernier message: 06/08/2008, 11h44
  3. comment résoudre une surconsommation sql
    Par itinerances dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/11/2006, 18h54
  4. Comment résoudre une exception?
    Par mambo dans le forum Visual C++
    Réponses: 11
    Dernier message: 28/08/2006, 14h48
  5. [Oracle 10g] Comment résoudre une erreur ORA-3000
    Par DoRiane dans le forum Oracle
    Réponses: 3
    Dernier message: 10/04/2006, 09h44

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