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 :

[C#] Compter les lignes d'un DataSet


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 40
    Points : 27
    Points
    27
    Par défaut [C#] Compter les lignes d'un DataSet
    bonjour

    j'aimerais savoir comment on peut compter les lignes d'un dataSet ou d'un DataGrid, je sais qu'il y a une propriete "rows" mais je n'arrive pas a l'utiliser.

    je cherche la syntaxe exacte pour remplir mon dataSet a partir d'un SQLDataReader puis compter le nombre de lignes renvoyés

    Merci beaucoup

    Alexis

  2. #2
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Hello,

    pour connaitre le nombre de lignes que contient une des tables de ton dataset, il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataset.Tables("nom de ta table").rows.count
    et pour connaitre le nombre de lignes que contient ton datagrid :

    J'espere que ca t'aideras...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci pour ces petites precisions mais je ne trouve pas la propriete rows d'un dataGrid???

    de plus sais tu comment remplir un DataSet avec une methode renvoyant un SQLDataReader?? en fait je cherchel'équivalant de DataGrid.DataSource

    Alexis

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    c bon c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int nb = datagrid1.Items.Count;
    par contre je cherche tjs pour remlir mon DataSet...

    Alexis

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par alexischmit
    de plus sais tu comment remplir un DataSet avec une methode renvoyant un SQLDataReader?? en fait je cherchel'équivalant de DataGrid.DataSource

    Alexis
    Tu pourrais donner un peu plus d'info parce que je comprend pas bien ce que tu cherches a faire...

    Tu veux remplir un dataset a partir d'un SQLDataReader, c'est bien ca???
    TON SQLDataReader, tu lui affecte quoi, une table de ta BD???

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    oui en fait j'ai une methode qui va chercher mes donnees dans la base et sui les renvoies avec un SQLDataReader

    c'est cette methode que j'utilise pour remplir un DataGrig et j'aimerais faire la meme chose avec un dataSet mais j'ai pas encore utiliser cet objet
    je ne sais pas si c'est possible

    si tu peux m'eclairer...

    Alexis

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Pk tu utilises pas plutot un SQLDataAdapter pr remplir ton dataset, c'est tellement plus simple... Il te suffit de remplir ton dataset avec la methode "Fill" du SQLDataadapter(auquel tu as passé precedement ta requete SQL )et le tour est joué

  8. #8
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    parce que j'utilise des procédures stockées!

    mais c'est peut-etre possible aussi, je sais pas trop comment ca marche...

    Alexis

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Oui, c'est possible, d'utiliser un SQLDataAdapter :

    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
     
    Dim cnx As SqlConnection = New SqlConnection("Chaine")
    Dim Cmd As New SqlCommand()
     
    Cmd= New SqlCommand("Procédure stockée", cnx)
    Cmd.CommandType = CommandType.StoredProcedure
     
    /Declaration des parametres de la procedure stockée ici
     
    Dim DAdapter As SqlDataAdapter = New SqlDataAdapter()
    DAdapter.SelectCommand = Cmd
     
    Dim ds As New DataSet()
     
    /cnx.open
    DAdapter.Fill(ds)
    /cnx.close
    G pas le temps de tester mais ca doit etre quelque chose du style

  10. #10
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci beaucoup pour ces infos bien precieuses, je vais tester, en tout cas j'ai mieux compris le principe et c'est ce que je chercher

    Alexis

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Le code fournit + haut est en VB !!!!

    Peux tu me dire si cela fonctionne...

  12. #12
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    moi je suis en C# mais ca doit marcher pareil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
    SqlCommand listerDetails = new SqlCommand("BO_ListerDetailCommande", myConnection);
     
    listerDetails.CommandType = CommandType.StoredProcedure;
     
    myConnection.Open();
    SqlDataAdapter result = new SqlDataAdapter();
    result.SelectCommand = listerDetails.ExecuteReader(CommandBehavior.CloseConnection);
     
    DataSet ds = new DataSet();
    result.Fill(ds);
    pour l'instant ca donne ca et ca a l'air correct (syntaxiquement)
    mais qu'est-ce qui contient les donnees : le dataAdapter ou le DataSet??

  13. #13
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Le DataAdapter recupere les données a partir de la procedure stockée et remplis le dataset avec celles-ci...

    extrait de MSDN :

    SqlDataAdapter sert de lien entre DataSet et SQL Server lors de l'extraction et de l'enregistrement de données. SqlDataAdapter établit ce lien en mappant Fill, qui modifie les données de DataSet pour qu'elles correspondent aux données de la source de données, et Update, qui modifie les données de la source de données pour qu'elles correspondent aux données de DataSet, à l'aide des instructions Transact-SQL appropriées par rapport à la source de données.

    Lorsque SqlDataAdapter remplit DataSet, il crée les tables et colonnes nécessaires pour les données retournées si elles n'existent pas encore.

  14. #14
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 40
    Points : 27
    Points
    27
    Par défaut
    Merci pour l'info

    donc c'est ok ca marche

    petite précision:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    myConnection.Open();
    SqlDataAdapter result = new SqlDataAdapter();
    result.SelectCommand = listerDetails;
    myConnection.Close();
     
    DataSet ds = new DataSet();
    result.Fill(ds);
    return ds;
    et dans le code de la page on peut maintenant lié la procédure précedement créer a la source d'un dataGrid (par exemple) ou utiler le dataSet.

    voila, je sais pas si ca va me servir en tout cas j'aurais appris plein de trucs 8)

    Merci bien!!
    Alexis

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

Discussions similaires

  1. Comment compter les lignes d'une relation d'un DataSet
    Par Poussy-Puce dans le forum ASP.NET
    Réponses: 1
    Dernier message: 01/10/2007, 14h08
  2. compter les lignes d'un recordset
    Par boss_gama dans le forum ASP
    Réponses: 1
    Dernier message: 24/07/2006, 15h44
  3. Problème pour compter les lignes d'un résultat
    Par Yoshidu62 dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/07/2006, 11h18
  4. Compter les lignes du résultat d'une requete
    Par mfavier dans le forum ASP
    Réponses: 4
    Dernier message: 30/06/2006, 21h05
  5. Compter les lignes d une <TABLE>
    Par Invité(e) dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/01/2005, 14h43

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