begin process at 2012 05 27 20:31:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

Base de données

 > 

Compter les reponses


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Compter les reponses

dimanche 19 août 2001 à 23:46:13 | Compter les reponses

Ondex

Salut,

je cherche le moyen de compter le nombre de resultat que j'ai suite a une requete dans une grosse base de donne (300 000 lignes).

J'ai utiliser la method count :

SQLCount = "SELECT COUNT(*) As Compter FROM Biglist Where Colone1 like '%azer%'"
Set RSCount = Base.Execute(SQLCount)

le probleme c'est que parralement j'affiche les resultat
donc j'ai la même requete presque :

SQLAffiche = "SELECT * FROM Biglist Where Colone1 like '%azer%'"
Set RS = Base.Execute(SQLAffiche)

cela me fait donc 2 requete.

Sans la requete de comptage, la page met 3 sec a s'executer, avec la requete de comptage, ça prend 6sec

soit le double pour les plus matheux d'entre vous .

J'aimerai savoir si il y a une autre metod pour compter les resultat avec une seule requete.

Si cela peux vous aider, je met le code complet de la page.

Merci

@+


response.expires = -1
response.AddHeader "Pragma", "no-cache"
response.AddHeader "cache-control", "no-store"
TimeStart = FormatNumber(Timer)
Formul=1

Set Base = Server.CreateObject("ADODB.Connection")
Base.Open "DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.mappath("/clubinfo/files") & "/bd1.mdb"

If Request.Form("go") = 1 Then
' NON TERMINER
End if

If Request.Form("go") = 2 Then

If Request.Form("Methode")=1 Then
SQLQuery = "SELECT * FROM Biglist Where "& Request.Form("Colone") &" = '"& Request.Form("Var2") &"'"
SQLCount = "SELECT COUNT(*) As Compter FROM Biglist Where "& Request.Form("Colone") &" = '"& Request.Form("Var2") &"'"
Else
SQLQuery = "SELECT * FROM Biglist Where "& Request.Form("Colone") &" like '%"& Request.Form("Var2") &"%'"
SQLCount = "SELECT COUNT(*) As Compter FROM Biglist Where "& Request.Form("Colone") &" like '%"& Request.Form("Var2") &"%'"
End If
Set RS = Base.Execute(SQLQuery)
Set RSCount = Base.Execute(SQLCount)
Formul=0

End if
Set Multiplie = Nothing

If Formul=1 Then
Response.Redirect "table.htm"
Else
Response.Write "<html><head><title>Les resultats</title></head><body><table width=100% border=1><tr><td>Mot 1</td><td>Mot 2</td><td>Genre</td></tr>"
Do While Not RS.EOF
Response.Write "<tr><td>"& RS("MOT1") &"</tD><td>"& RS("MOT2") &"</td><td>"& RS("GENRE") &"</td></tr>"
RS.MoveNext
Loop
Response.Write "</table>Temps d'execution de la page : " & FormatNumber(FormatNumber(Timer) - TimeStart) &"s<br>Il y a "& RSCount("Compter") &" réponse(s)</body></html>"
End If

Base.Close
Set RS = Nothing
Set Base = Nothing
lundi 20 août 2001 à 01:13:49 | Re : Compter les reponses

Ondex

ReSalut,

c pour dire que (1h30 + tard) j'ai trouver la solution, j'utilise la method RecordCount.

@+

-------------------------------
Réponse au message :
-------------------------------

Salut,

je cherche le moyen de compter le nombre de resultat que j'ai suite a une requete dans une grosse base de donne (300 000 lignes).

J'ai utiliser la method count :

SQLCount = "SELECT COUNT(*) As Compter FROM Biglist Where Colone1 like '%azer%'"
Set RSCount = Base.Execute(SQLCount)

le probleme c'est que parralement j'affiche les resultat
donc j'ai la même requete presque :

SQLAffiche = "SELECT * FROM Biglist Where Colone1 like '%azer%'"
Set RS = Base.Execute(SQLAffiche)

cela me fait donc 2 requete.

Sans la requete de comptage, la page met 3 sec a s'executer, avec la requete de comptage, ça prend 6sec

soit le double pour les plus matheux d'entre vous .

J'aimerai savoir si il y a une autre metod pour compter les resultat avec une seule requete.

Si cela peux vous aider, je met le code complet de la page.

Merci

@+


response.expires = -1
response.AddHeader "Pragma", "no-cache"
response.AddHeader "cache-control", "no-store"
TimeStart = FormatNumber(Timer)
Formul=1

Set Base = Server.CreateObject("ADODB.Connection")
Base.Open "DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.mappath("/clubinfo/files") & "/bd1.mdb"

If Request.Form("go") = 1 Then
' NON TERMINER
End if

If Request.Form("go") = 2 Then

If Request.Form("Methode")=1 Then
SQLQuery = "SELECT * FROM Biglist Where "& Request.Form("Colone") &" = '"& Request.Form("Var2") &"'"
SQLCount = "SELECT COUNT(*) As Compter FROM Biglist Where "& Request.Form("Colone") &" = '"& Request.Form("Var2") &"'"
Else
SQLQuery = "SELECT * FROM Biglist Where "& Request.Form("Colone") &" like '%"& Request.Form("Var2") &"%'"
SQLCount = "SELECT COUNT(*) As Compter FROM Biglist Where "& Request.Form("Colone") &" like '%"& Request.Form("Var2") &"%'"
End If
Set RS = Base.Execute(SQLQuery)
Set RSCount = Base.Execute(SQLCount)
Formul=0

End if
Set Multiplie = Nothing

If Formul=1 Then
Response.Redirect "table.htm"
Else
Response.Write "<html><head><title>Les resultats</title></head><body><table width=100% border=1><tr><td>Mot 1</td><td>Mot 2</td><td>Genre</td></tr>"
Do While Not RS.EOF
Response.Write "<tr><td>"& RS("MOT1") &"</tD><td>"& RS("MOT2") &"</td><td>"& RS("GENRE") &"</td></tr>"
RS.MoveNext
Loop
Response.Write "</table>Temps d'execution de la page : " & FormatNumber(FormatNumber(Timer) - TimeStart) &"s<br>Il y a "& RSCount("Compter") &" réponse(s)</body></html>"
End If

Base.Close
Set RS = Nothing
Set Base = Nothing

vendredi 24 août 2001 à 13:43:31 | Re : Compter les reponses

Hugo


Salut,

effectivement c'est une solution :-)

Si tu récupères beaucoup d'enregistrement tu peux aussi essayer d'utiliser l'instruction getrows de ton recordset... cette dernière en un seul appel te transforme l'intégralité du recordset en tableau de variant. Même si ce dernier prend plus de place en mémoire il est beaucoup plus rapide lors de l'accès que l'itération sur le recordset...

De plus tu obtiens automatiquement le nombre de record puisqu'il te suffit de tester la limite UBOUND du tableau.

Un autre point est que pour rassurer ton utilisateur (sil a Ie5) tu peux voir pour lui afficher le tableau au fur et à mesure qu'il est généré. Cela s'effectue en fixant la largeur des colonnes.

Et encore un dernier conseil pour éviter de surcharger ton serveur... tu peux vérifier en cours de route que ton client est toujours connecté avant de procéder à la génération du tableau...



-------------------------------
Réponse au message :
-------------------------------

ReSalut,

c pour dire que (1h30 + tard) j'ai trouver la solution, j'utilise la method RecordCount.

@+

-------------------------------
Réponse au message :
-------------------------------

Salut,

je cherche le moyen de compter le nombre de resultat que j'ai suite a une requete dans une grosse base de donne (300 000 lignes).

J'ai utiliser la method count :

SQLCount = "SELECT COUNT(*) As Compter FROM Biglist Where Colone1 like '%azer%'"
Set RSCount = Base.Execute(SQLCount)

le probleme c'est que parralement j'affiche les resultat
donc j'ai la même requete presque :

SQLAffiche = "SELECT * FROM Biglist Where Colone1 like '%azer%'"
Set RS = Base.Execute(SQLAffiche)

cela me fait donc 2 requete.

Sans la requete de comptage, la page met 3 sec a s'executer, avec la requete de comptage, ça prend 6sec

soit le double pour les plus matheux d'entre vous .

J'aimerai savoir si il y a une autre metod pour compter les resultat avec une seule requete.

Si cela peux vous aider, je met le code complet de la page.

Merci

@+


response.expires = -1
response.AddHeader "Pragma", "no-cache"
response.AddHeader "cache-control", "no-store"
TimeStart = FormatNumber(Timer)
Formul=1

Set Base = Server.CreateObject("ADODB.Connection")
Base.Open "DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.mappath("/clubinfo/files") & "/bd1.mdb"

If Request.Form("go") = 1 Then
' NON TERMINER
End if

If Request.Form("go") = 2 Then

If Request.Form("Methode")=1 Then
SQLQuery = "SELECT * FROM Biglist Where "& Request.Form("Colone") &" = '"& Request.Form("Var2") &"'"
SQLCount = "SELECT COUNT(*) As Compter FROM Biglist Where "& Request.Form("Colone") &" = '"& Request.Form("Var2") &"'"
Else
SQLQuery = "SELECT * FROM Biglist Where "& Request.Form("Colone") &" like '%"& Request.Form("Var2") &"%'"
SQLCount = "SELECT COUNT(*) As Compter FROM Biglist Where "& Request.Form("Colone") &" like '%"& Request.Form("Var2") &"%'"
End If
Set RS = Base.Execute(SQLQuery)
Set RSCount = Base.Execute(SQLCount)
Formul=0

End if
Set Multiplie = Nothing

If Formul=1 Then
Response.Redirect "table.htm"
Else
Response.Write "<html><head><title>Les resultats</title></head><body><table width=100% border=1><tr><td>Mot 1</td><td>Mot 2</td><td>Genre</td></tr>"
Do While Not RS.EOF
Response.Write "<tr><td>"& RS("MOT1") &"</tD><td>"& RS("MOT2") &"</td><td>"& RS("GENRE") &"</td></tr>"
RS.MoveNext
Loop
Response.Write "</table>Temps d'execution de la page : " & FormatNumber(FormatNumber(Timer) - TimeStart) &"s<br>Il y a "& RSCount("Compter") &" réponse(s)</body></html>"
End If

Base.Close
Set RS = Nothing
Set Base = Nothing


dimanche 1 août 2004 à 21:33:48 | Re : Compter les reponses

valygar

oops


Cette discussion est classée dans : set, base, form, request, compter


Répondre à ce message

Sujets en rapport avec ce message

Problème dans la vérification si une entrée est dans la base. [ par Kirnan ] Bonjour, je suis sur un code qui gère de l'asp à partir de flash.La partie surlaquelle je bloque est pour l'enregistrement, j'ai crée une page asp qui request.form/Querystring [ par TheLordFreddy ] Salut,Comment effacer les valeurs recuperer par l'objet request?En fait je passe un nom avec POST ou GET ensuite je récupère ce nom pour l'ajouter dan spam de mon livre d'or, help ! [ par zepokpok ] bonjour à tous !je précise dans un premier temps que j'ai très peu de connaissances en asp, c'est pourquoi je viens demander un coup de main.j'ai un s [ASP-COM] Passer le Request.Form [ par vpoyo ] Bonjour, et merci à ceux qui prennent la peine de lire ce message.J'aimerais faire passer les paramètres contenus dans le Request.Form à une fonction messagerie [ par inessa ] bonjour Dans ces lignes que j'ai trouvé dans une mini messagerie j'ai pas compris ce que veut dire "Trim"txta=Trim(Request.Form("txta"))txtobjet=<fon pb update+guillemet [ par ganbalfro ] Bonjour, Je souhaite mettre à jours des informations concernant l’utilisateur. Cependant lorsqu’il y a un guillemet dans l’adresse il y a une erreur s formulaire aspemail [ par nickg ] bonjourj'ai une erreur de formulaire ASpemail"Object doesn't support this property or method: 'Mail.Recipient' "j'arrive pas à trouver ce qu'il faut m dll ne fonctionne pas à son appel [ par trax3699 ] Bonjour à tous et merci d'avance pour vos réponses.J'ai une page asp qui fait appel à une dll qui attaque l'activ directory pour ajouter ou supprimer  REQUEST.FORM sous aspx [ par AC1 ] Il y a surement un paramètre qui m'échappe, mais je ne parviens pas à faire un "vieux" request form sur une page aspx1 pour récupérer les valeurs dans probleme d'update [ par valaidnew ] Bonjour à toutes et tous, J'ai un serieux probleme avec ma(mes) clauses update. Apres avoir un mot de passe sur un des base de donnees, il ne me fai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales