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 :

erreur lors d'un count alors que ça marche sous access


Sujet :

ASP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 41
    Points
    41
    Par défaut erreur lors d'un count alors que ça marche sous access
    Bonjour,

    J'ai un petit pobleme de style
    Objet Response erreur 'ASP 0185 : 8002000e'

    Propriété Default absente
    avec le code ci dessous, sachant que la requête fonctionne sous access et que la connexion est bonne puisqu'avec d'autres requetes n'incluant pas de count cela fonctionne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <%sql_sites="SELECT count(NOM) AS nb_sites FROM SITES"
    				Set listing_sites=connexion.Execute(sql_sites)
    				If listing_sites("nb_sites")<=18 THEN
    					response.Write(listing_sites)
    					response.Write(" Moins de 18 sites recencés")
    				else
    					response.Write(listing_sites)
    					response.Write(" Plus de 18 sites recencés")
    				End IF
    				Set listing_sites=Nothing%>

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Je pense que tu devrais plutot utiliser un recordset pour rédupérer le résultat d'un SELECT.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    oui je te remercie , c'est bien ce que je pensais mais bon...
    dommage ( ça fait 2/3 lignes de plus..)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    ben non finalement même avec le recordset ça passe pas ...
    set listing_sites=Server.CreateObject("ADODB.Recordset")
    sql_sites= "SELECT count(NOM) AS nb_sites FROM SITES"
    listing_sites.Open sql_sites, connexion
    If listing_sites("nb_sites")<=18 THEN
    response.Write(listing_sites)
    response.Write(" Moins de 18 sites recencés")
    else
    response.Write(listing_sites)
    response.Write(" Plus de 18 sites recencés")
    End IF

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    même avec l'utilisation de
    la methode count ou recordcount sur le recordset ça marche pas !!!
    au secours...

  6. #6
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Citation Envoyé par maxos75
    même avec l'utilisation de
    la methode count ou recordcount sur le recordset ça marche pas !!!
    au secours...
    Et tu obtiens quoi ? une erreur ? un mauvais résultat ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    non une erreur mais bon comme c'est pressé [demandé ce matin 10h30 heures pour avant 13 heures !!!] (incroyable que les gens s'imaginent qu'il faut trente secondes pour fair 36000 modifs) je reviendrai sur l'erreur là je l'ai contournée comme ça :
    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
    sql_sites= "SELECT * FROM SITES"
    				set listing_sites=connexion.Execute(sql_sites)
    				compteur_sites=0
    				Do while not listing_sites.EOF
    					compteur_sites=compteur_sites+1
    					listing_sites.Movenext
    				LOOP
    				listing_sites.Movefirst
    				If compteur_sites<=18 THEN
    					response.Write(compteur_sites)
    					response.Write(" Moins de 18 sites recencés")
    				else
    					response.Write(compteur_sites)
    					response.Write(" Plus de 18 sites recencés")
    				End IF
    et là ça fonctionne mais bon c'est pas super light.
    Merci pour l'aide

  8. #8
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Salut,

    Je suis juste avant le gong

    Le probleme est là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    response.Write(listing_sites)
    Tu essayes de faire un response.write sur un object, ce qui ne fonctionne pas.


    Yan

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    a vrai dire même en mettant en commentaire les response.write ça ne fonctionne pas...

  10. #10
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Re!

    Bon bin, y a une autre erreur alors
    Essayons ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    sql_sites="SELECT count(NOM) FROM SITES" 
                Set listing_sites = connexion.Execute(sql_sites) 
                If listing_sites(0) <= 18 THEN 
                   response.Write(listing_sites(0)) 
                   response.Write(" Moins de 18 sites recencés") 
                else 
                   response.Write(listing_sites(0) ) 
                   response.Write(" Plus de 18 sites recencés") 
                End IF 
                Set listing_sites=Nothing
    Yan

  11. #11
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut, et ça? C'est basique, mais chez moi, ça marche toujours.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    set listing_sites = server.createobject("ADODB.recordset")
        listing_sites.open "SELECT * FROM SITES;", MyProvider, 1, 1
            compteur_sites = listing_sites.recordcount
        listing_sites.close
        If compteur_sites<=18 THEN 
            response.Write(compteur_sites) 
            response.Write(" Moins de 18 sites recencés") 
        else 
            response.Write(compteur_sites) 
            response.Write(" Plus de 18 sites recencés") 
        End IF
    set listing_sites = Nothing
    A+
    Le "*" de
    SELECT * FROM SITES
    est peut-être pas utile. On pourra se contenter de

  12. #12
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    'Soir,

    C'est exact que le Count, et le Sum aussi, causent parfois des problèmes inattendus en Asp (en tout cas avec Access), la solution d'Immobilis semble sage.


    Yan

  13. #13
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Citation Envoyé par maxos75
    ben non finalement même avec le recordset ça passe pas ...
    set listing_sites=Server.CreateObject("ADODB.Recordset")
    sql_sites= "SELECT count(NOM) AS nb_sites FROM SITES"
    listing_sites.Open sql_sites, connexion
    If listing_sites("nb_sites")<=18 THEN
    response.Write(listing_sites)
    response.Write(" Moins de 18 sites recencés")
    else
    response.Write(listing_sites)
    response.Write(" Plus de 18 sites recencés")
    End IF
    Il me semble que tu fais une erreur là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listing_sites.Open sql_sites, connexion
    Pour ouvrir un recordset comme ceci il ne faut pas mettre la connexion, mais le provider.

    Pour info ceci marche très bien chez moi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sql_sites="SELECT count(CLient_ID) as nb FROM Client" 
    Set listing_sites = objConn.Execute(sql_sites) 
    	If listing_sites(0) <= 18 THEN 
    	   response.Write(listing_sites(0)) 
    	   response.Write("Moins de 18 sites recencés") 
    	else 
    	   response.Write(listing_sites(0) ) 
    	   response.Write("Plus de 18 sites recencés") 
    	End IF 
    Set listing_sites=Nothing
    Ultra light :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set listing_sites = objConn.Execute("SELECT count(CLient_ID) as nb FROM Client") 
    	response.Write(listing_sites("nb") & " recencés<br>") 
    Set listing_sites = Nothing
    Ou encore, sachant que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set objConn = server.createobject("ADODB.Connection")
    objConn.Open strProvider
    set cm = Server.CreateObject("ADODB.Command")
    cm.ActiveConnection = objConn
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cm.Commandtext = "SELECT count(CLient_ID) as nb FROM Client"
    listing_sites = cm.Execute
    response.Write(listing_sites("nb") & " recencés<br>")

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/04/2009, 18h02
  2. Réponses: 3
    Dernier message: 04/03/2009, 22h09
  3. Réponses: 4
    Dernier message: 12/10/2008, 20h14
  4. Réponses: 1
    Dernier message: 28/03/2008, 16h06
  5. pb .bat, alors que ça marche sous Eclipse
    Par mimi31110 dans le forum Langage
    Réponses: 5
    Dernier message: 15/06/2006, 15h06

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