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

Accès aux données Discussion :

[débutant]Problème de requete avec mon DataSet


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2003
    Messages : 42
    Points : 42
    Points
    42
    Par défaut [débutant]Problème de requete avec mon DataSet
    Bonjour tout le monde ,

    je m'initie depuis peu aux bases de données avec c# et j'ai un problème de lecture de DataSet

    lorsque je compile mon programme il n'y a pas d'erreur et lorsque je clique sur le bouton pour lire le DataSet op il génére une erreur

    pouvez vous m'éclairer svp sur le pb

    j'utilise la base de donnée exemple livré avec SQL serveur express (Northwind)

    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
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.IO;
    using System.Xml.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml;
     
    et voici le code de mon bouton
     
    private void button3_Click(object sender, EventArgs e)
            {
                DataSet ds = new NorthwindDataSet(); 
                label1.Text = ds.Tables["Categories"].Rows[0]["Category NAME"].ToString();
            }
    c'est un programme tout simple pour afficher le 1er nom de la Table Catogories mais il doit y avoir un pb dans le code de recherche dans le DataSet j'ai passé toute l'aprem sur le pb mais j'arrive pas à trouver

    il me génére une exception "IndexOutOfRang" en me précisant qu'aucune ligne n'a été trouvé à la position 0

    Merci d'avance

    Blacky

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Ton DataSet est surement vide.
    Malheureusement, tu ne nous donne pas le code du constructeur NorthwindDataSet(), on ne peut pas deviner ce qu'il contient.

    Montre-nous ta classe NorthwindDataSet pour qu'on t'en dise plus.


    PS :
    J'imagine que ta classe NorthwindDataSet hérite de DataSet.
    Donc au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataSet ds = new NorthwindDataSet();
    tu pourrais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NorthwindDataSet ds = new NorthwindDataSet();
    label1.Text = ds.Tables["Categories"].Rows[0]["Category NAME"].ToString();
    avec toutes les fonctionnalités du type DataSet.

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2003
    Messages : 42
    Points : 42
    Points
    42
    Par défaut
    coucou skalp

    merci pour ta réponse

    en faite j'ai pas mis le code de mon constructeur car j'en ai pas

    j'apprend sous visual studio et je pensais qu'il le faisait directement

    j'ai choisi la base de donnée dans "source de donnée" et après avoir choisi les tables à utiliser il a construit directement le dataset et le fichier NorthwindDataSet.xsd

    je pensais que l'ide aurait fait la classe automatiquement

    je viens de lire un cours sur ADO.net que j'ai eu sur ce site et apparemment il me manquerait un adapter entre ma bdd et mon dataset

    pourrais tu me confirmer pour l'adaptateur stp ?

    sinon j'ai testé le code que tu m'as proposé et ca fait la même chose

    Merci d'avance pour ta réponse

    Blacky

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Citation Envoyé par blacknight Voir le message
    J'ai choisi la base de donnée dans "source de donnée" et après avoir choisi les tables à utiliser il a construit directement le dataset et le fichier NorthwindDataSet.xsd
    Aaaaah, mais il faut le dire tout de suite ce genre d'information !

    Citation Envoyé par blacknight Voir le message
    je viens de lire un cours sur ADO.net que j'ai eu sur ce site et apparemment il me manquerait un adapter entre ma bdd et mon dataset.
    pourrais tu me confirmer pour l'adaptateur stp ?
    Ben du coup, oui je te confirme que tu vas avoir besoin d'un TableAdapter.
    Cela va donner quelque chose dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    NorthwindDataSet ds = new NorthwindDataSet();
    NorthwindDataSetTableAdapters.CategoriesTableAdapter ta = new NorthwindDataSetTableAdapters.CategoriesTableAdapter();
    ta.Fill(ds.Categories);
    A ce moment-là ton DataSet va être alimenté avec les données de la base.

    Au lieu d'un petit label pour afficher ta valeur, tu peux utiliser un DataGridView :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dataGridView1.DataSource = ds;
    dataGridView1.DataMember = ds.Tables[0].TableName;
    Citation Envoyé par blacknight Voir le message
    sinon j'ai testé le code que tu m'as proposé et ca fait la même chose.
    Oui, dans le PS, je ne te donnais pas le morceau de code qui allait tout corriger, je voulais juste te dire que si tu gardes ton code, tu ne pourras pas bénéficier des fonctionnalités du NorthwindDataSet.

  5. #5
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2003
    Messages : 42
    Points : 42
    Points
    42
    Par défaut
    ah nikel ca fonctionne

    en tout cas c'est super sympa de m'avoir aidé , ton aide m'a été très précieuse

    1000x Merci tu es mon sauveur

    Blacky

  6. #6
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Citation Envoyé par blacknight Voir le message
    ah nikel ca fonctionne
    en tout cas c'est super sympa de m'avoir aidé , ton aide m'a été très précieuse
    1000x Merci tu es mon sauveur



    N'hésite pas à aller visiter le lien MSDN que j'ai glissé sur TableAdapter.
    La MSDN est notre bible.
    Louons la MSDN, elle nous guide sur le chemin.
    Amen.

    N'oublie pas de cliquer sur le bouton (en bas de cette page) lorsque ton problème est... résolu !

  7. #7
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2003
    Messages : 42
    Points : 42
    Points
    42
    Par défaut
    oups j'avais pas vu le bouton

    Merci encore

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

Discussions similaires

  1. Problème avec mon dataset
    Par lesultan2007 dans le forum VB.NET
    Réponses: 1
    Dernier message: 23/07/2009, 10h00
  2. Problème d'affichage avec mon BBCode
    Par magic33 dans le forum Langage
    Réponses: 4
    Dernier message: 01/05/2006, 16h30
  3. Réponses: 4
    Dernier message: 11/04/2006, 09h07
  4. Problème de requete avec type monétaire
    Par Pymm dans le forum ASP
    Réponses: 11
    Dernier message: 09/09/2005, 16h57
  5. Problème de requete avec Innodb
    Par silef dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2004, 12h54

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