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 Discussion :

[recordset property] recordcount


Sujet :

ASP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Par défaut [recordset property] recordcount
    Salut,

    Je veux utiliser la propriétée "recordcount" pour savoir si mon recordset contient des enregistrements. Mais cette propriété me retourne toujours "-1" peut-importe s'il y a des enregistrements ou pas.

    Dans le fond, c'est que je veux mettre une condition comme celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if rs_scat.recordcount <> 0 then
        [...]
    end if
    Qu'est-ce qui ne fonctionne pas là-dedans? est-ce qu'il existe une autre façon de faire la même chose?

  2. #2
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Salut

    essaie un petit rs_scat.movelast avant de faire le .recordcount

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Par défaut
    ça me fait l'erreur suivante :

    Citation Envoyé par IE
    Microsoft OLE DB Provider for ODBC Driverserror '80040e24'

    Rowset does not support fetching backward.

    /index.asp, line 197

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 34
    Par défaut
    Salut,
    tu peux peut etre essayer ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if rs_scat.eof = false AND rs_scat.bof = false then
    .....
    end if
    verifie si c'est false ou true qu'il faut mettre je ne suis plus sur dans quel cas il renvoie true et dans quel cas il renvoie false

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Par défaut
    Salut,

    il faut que tu ajoutes cette ligne avant l'ouverture de ton recordset

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    oRs.CursorLocation = adUseClient

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Par défaut
    Citation Envoyé par leviathan516
    Salut,
    tu peux peut etre essayer ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if rs_scat.eof = false AND rs_scat.bof = false then
    .....
    end if
    verifie si c'est false ou true qu'il faut mettre je ne suis plus sur dans quel cas il renvoie true et dans quel cas il renvoie false
    Déjà essayer... et ça ne fonctionne pas. Il me fait une erreur bizarre du même genre que la première.

    Citation Envoyé par Gwenn
    Salut,

    il faut que tu ajoutes cette ligne avant l'ouverture de ton recordset

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oRs.CursorLocation = adUseClient
    J'essais ça immédiatement et je vous en redonne des nouvelles.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Par défaut
    bon, j'ai essayé la dernière chose... ça me fait cette erreur:

    Citation Envoyé par IE
    ADODB.Recordset error '800a0e79'

    Operation is not allowed when the object is open.

    /index.asp, line 186
    Je suis en train de me dire qu'il n'y a pas de moyen de faire ce que je veux faire !!?

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Par défaut
    Biensur que ca marche

    Fonction exemple :

    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
    20
    21
    22
    Function NbreOpe(idAg)
    Dim oConnx
    Dim oRsNOpe
    Dim StrSQL
    Dim Nbre
    				Set oConnx = Server.CreateObject("ADODB.CONNECTION")
    				Set oRsNOpe = Server.CreateObject("ADODB.Recordset")
    				oConnx.Open BD_03
    				oRsNOpe.CursorLocation = adUseClient
    				StrSQL = "SELECT Agent_id FROM LienAgOp WHERE Agent_id=" & idAg			
    				oRsNOpe.Open  strSQL, oConnx
    				If Not oRsNOpe.EOF Then			
    					Nbre = oRsNOpe.RecordCount
    				Else
    					Nbre = 0
    				End if
    				oRsNOpe.Close
    				oConnx.Close
    				Set oRsNOpe = Nothing
    				Set oConnx = nothing
    				NbreOpe = Nbre
    End Function
    Ton message d'erreur me fait dire que ta connexion est deja ouverte

    Autre chose, "adUseClient" est defini par adovbs.asp qui doit etre inclu sur chaque page

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Par défaut
    Salut Gwenn, J'ai fait ce que tu as dis, mais j'ai un autre message d'erreur qui me dit :

    Citation Envoyé par IE
    ADODB.Recordset error '800a0bb9'

    Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

    /index.asp, line 191
    Voici le snippet de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    186 set conn = Server.CreateObject("ADODB.connection")
    187 set rs_cat = Server.CreateObject("ADODB.Recordset")
    188 set rs_scat = Server.CreateObject("ADODB.Recordset")
    189	
    190 conn.open strconn
    191 rs_scat.CursorLocation = adUseClient 
    192
    193 sqlCat = "SELECT * FROM categories WHERE id_parent=1 AND id_arrondissement=1 AND parution=1 AND page='' ORDER BY ordre DESC"				
    194 sqlSousCat = "SELECT * FROM categories WHERE id_parent IN (SELECT id FROM categories WHERE id_parent=1 AND page='') AND id_arrondissement=1 AND parution=1 ORDER BY ordre Desc"
    195
    196 rs_cat.Open sqlCat, conn
    197 rs_scat.Open sqlSousCat, conn

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Par défaut
    C'est que tu n'inclus pas le fichier adovbs.asp (ADO constants include file for VBScript) dans toutes tes pages asp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!--#include file="../utils/adovbs.asp"-->
    Si tu ne trouves pas ce fichier de constantes, je pourrais te l'envoyer

    edit : un lien pour adovbs.asp :

    http://www.andrew.cmu.edu/user/pnguyen/includes/adovbs.asp

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Par défaut
    ok... ça fonctionne dans une page test... mais quand je le copie dans le vrai code, ça me sort cette erreur :

    Citation Envoyé par IE
    ADODB.Recordset error '800a0bb9'

    Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

    /index.asp, line 183
    Pourtant c'est le même code que dans ma page test qui elle fonctionne à 100% ?

    PS: la ligne 183 contient "rs_cat.CursorLocation = adUseClient"

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Par défaut
    mais le vrai code aussi doit inclure adovbs.asp !!

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Par défaut
    Citation Envoyé par Gwenn
    mais le vrai code aussi doit inclure adovbs.asp !!
    je suis gêné là.... c'est vrai j'ai oublier...

    Maintenant que ce bout de code est dans ma vrai page .asp, j'ai un autre problème.

    Je vais créer un autre sujet de discussion, je crois que ça va aller mieux... je vais rééditer ce message pour mettre le lien --> [ici] <--.
    [connexion base de données] requête dynamique...

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

Discussions similaires

  1. recordset et recordcount
    Par _developpeur_ dans le forum VBA Access
    Réponses: 10
    Dernier message: 25/07/2011, 11h07
  2. Recordset ADO: Recordcount=-1
    Par Marc_27 dans le forum IHM
    Réponses: 4
    Dernier message: 14/10/2008, 15h06
  3. [VBA] Recordset : trop d'éléments obtenus par Recordcount
    Par Nenette_cherie dans le forum Access
    Réponses: 15
    Dernier message: 11/05/2006, 11h33
  4. RecordCount sur un Recordset
    Par Poussy-Puce dans le forum ASP
    Réponses: 1
    Dernier message: 27/02/2006, 18h08
  5. [ADO.NET] Equivalent recordcount d'un recordset
    Par totoche dans le forum Accès aux données
    Réponses: 4
    Dernier message: 30/03/2005, 16h02

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