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 :

Comment connaitre le nbre de résultats d'un SELECT d'un DataSource?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Webmaster
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Par défaut Comment connaitre le nbre de résultats d'un SELECT d'un DataSource?
    Bonjour,

    J'ai un Repeater associé à un DataSource sur ma page ASPX. Je veux, dans mon code-behind, vérifier le nombre de résultats de ma requete SELECT de mon DataSource pour :
    - si = 0 : Repeater1.Visible = false;
    - si > 0 : Repeater1.Visible = true;

    En gros si aucun élément je veux cacher mon Repeater et inversement.

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    il me semble que la methode Fill de datasource te renvoi le nombre d'enregistrement que tu as séléctionné avec ta requete

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 131
    Par défaut
    slt,
    ya surment une propieté du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    myRepeater.databind();
    if (myRepeater.Items.Count > 0)
    myRepeater.visible = true;
    else
    myRepeater.visible = false;

  4. #4
    BK
    BK est déconnecté
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Septembre 2005
    Messages : 22
    Par défaut
    en mode code, tu peux utiliser un ExecuteNonQuery() qui te retourne le nombre de ligne affecte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SqlCommand com = new SqlCommand("SELECT * FROM Table",co);
    com.CommandType = CommandType.Text;
     
    int nbLigne = com.ExecuteNonQuery();

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Par défaut
    Citation Envoyé par BK
    en mode code, tu peux utiliser un ExecuteNonQuery() qui te retourne le nombre de ligne affecte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SqlCommand com = new SqlCommand("SELECT * FROM Table",co);
    com.CommandType = CommandType.Text;
     
    int nbLigne = com.ExecuteNonQuery();
    A éviter....ExecuteNonQuery est réservé à du DML et du DDL (UPdate, Insert, Delete, CREATE, alter etc...). Le nombre de lignes retourné est celui qui représente le nombre de lignes affectées par un update/delete/insert et en aucun cas cela ne retourne le nombre de ligne d'un select. En outre, même si c'était le cas, faudrait éviter de faire un select * pour compter le nombre de lignes...et plutôt utiliser un select count(*)

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/03/2009, 11h41
  2. Réponses: 4
    Dernier message: 04/12/2008, 08h45
  3. Réponses: 1
    Dernier message: 12/05/2004, 19h02
  4. Réponses: 2
    Dernier message: 23/03/2004, 11h24
  5. comment connaitre le nombre ...
    Par mythtvtalk.com dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/08/2003, 08h18

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