Limitez la quantité de résultats retournés

  • anyusernamewilldo
  • Novice
  • Novice
  • No Avatar
  • Inscription: Aoû 05, 2009
  • Messages: 22
  • Status: Offline

Message Août 5th, 2009, 4:43 pm

Salut tous,

Im un peu un noob et IM en espérant que ce qui im essayons de faire est assez courant et Im totalement bloqué et vraiment besoin d'aide...

J'ai une base de données accès que j'ai besoin de retourner des résultats de. À l'heure actuelle j'ai un sript ASP qui renverra tous les enregistrements dans decending ordre par un numéro d'identification...C'est parfait.
Cependant je ne voudrais pour qu'il retourne les trois résultats les plus récents.

Voici le code im Utilisation de retourner tous les résultats:

Code: [ Select ]
<%
' Declaring variables
Dim rs, data_source, no
no = 0
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
    Server.MapPath("form.mdb")
 
' Creating Recordset Object and opening the database
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM users ORDER BY id DESC ", data_source
 
 
' Looping through the records to show all of them
While Not rs.EOF
    Response.Write "<form action='del.asp' method='post'>"
    Response.Write "Name : " & rs("name") & "<br>"
    Response.Write "Email : " & rs("email") & "<br>"
    Response.Write "Country : " & rs("country") & "<br>"
    Response.Write "Comments : " & rs("comments") & "<br>"
    Response.Write "<input type='hidden' name='id' value='" & rs("id") & "'>"
    Response.Write "<input type='submit' value='Delete'>" & "<br>"
    Response.Write "</form>"
    no = no + 1
    rs.MoveNext
Wend
 
' Done. Now close the Recordset
rs.Close
Set rs = Nothing
 
Response.Write "<p>Total Records Found : " & no
%>
 
  1. <%
  2. ' Declaring variables
  3. Dim rs, data_source, no
  4. no = 0
  5. data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
  6.     Server.MapPath("form.mdb")
  7.  
  8. ' Creating Recordset Object and opening the database
  9. Set rs = Server.CreateObject("ADODB.Recordset")
  10. rs.Open "SELECT * FROM users ORDER BY id DESC ", data_source
  11.  
  12.  
  13. ' Looping through the records to show all of them
  14. While Not rs.EOF
  15.     Response.Write "<form action='del.asp' method='post'>"
  16.     Response.Write "Name : " & rs("name") & "<br>"
  17.     Response.Write "Email : " & rs("email") & "<br>"
  18.     Response.Write "Country : " & rs("country") & "<br>"
  19.     Response.Write "Comments : " & rs("comments") & "<br>"
  20.     Response.Write "<input type='hidden' name='id' value='" & rs("id") & "'>"
  21.     Response.Write "<input type='submit' value='Delete'>" & "<br>"
  22.     Response.Write "</form>"
  23.     no = no + 1
  24.     rs.MoveNext
  25. Wend
  26.  
  27. ' Done. Now close the Recordset
  28. rs.Close
  29. Set rs = Nothing
  30.  
  31. Response.Write "<p>Total Records Found : " & no
  32. %>
  33.  


Comme mentionné ci-dessus - ce script affiche tous les résultats dans le tableau. Je veux seulement la plus récente de 3 résultats à retourner.

Je ne sais pas ce que c'est que je dois changer pour obtenir que les trois éléments les plus récentes de la base de données d'accès. Ive a essayé de mettre
Code: [ Select ]
"SELECT * FROM `users` LIMIT 0, 3 "
en divers endroits dans le script, en plus de ce que j'ai ci-dessus. S'il vous plaît quelqu'un peut-il conseiller ce que j'ai besoin de changer ou d'où sur terre, je dois vous poser la variable LIMIT ou rien.

Merci à toute aide à l'avance

Jy
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Août 5th, 2009, 4:43 pm

  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Juil 25, 2005
  • Messages: 2735
  • Loc: Nashville, TN
  • Status: Offline

Message Août 5th, 2009, 5:21 pm

Essayez-le comme ceci:

Code: [ Select ]
SELECT TOP 3 * FROM 'users' LIMIT 0,3
I'd love to change the world, but they won't give me the source code.
  • anyusernamewilldo
  • Novice
  • Novice
  • No Avatar
  • Inscription: Aoû 05, 2009
  • Messages: 22
  • Status: Offline

Message Août 5th, 2009, 11:22 pm

Iv tenté de faire passer

Code: [ Select ]
SELECT TOP 3 * FROM 'users' LIMIT 0,3


Dans le script comme ceci:

Code: [ Select ]
<%
' Declaring variables
Dim rs, data_source, no
no = 0
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
    Server.MapPath("form.mdb")
 
' Creating Recordset Object and opening the database
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT TOP 3 * FROM 'users' LIMIT 0,3", data_source 
 
 
' Looping through the records to show all of them
While Not rs.EOF
    Response.Write "<form action='del.asp' method='post'>"
    Response.Write "Name : " & rs("name") & "<br>"
    Response.Write "Email : " & rs("email") & "<br>"
    Response.Write "Country : " & rs("country") & "<br>"
    Response.Write "Comments : " & rs("comments") & "<br>"
    Response.Write "<input type='hidden' name='id' value='" & rs("id") & "'>"
    Response.Write "<input type='submit' value='Delete'>" & "<br>"
    Response.Write "</form>"
    no = no + 1
    rs.MoveNext
Wend
 
' Done. Now close the Recordset
rs.Close
Set rs = Nothing
 
Response.Write "<p>Total Records Found : " & no
%>
  1. <%
  2. ' Declaring variables
  3. Dim rs, data_source, no
  4. no = 0
  5. data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
  6.     Server.MapPath("form.mdb")
  7.  
  8. ' Creating Recordset Object and opening the database
  9. Set rs = Server.CreateObject("ADODB.Recordset")
  10. rs.Open "SELECT TOP 3 * FROM 'users' LIMIT 0,3", data_source 
  11.  
  12.  
  13. ' Looping through the records to show all of them
  14. While Not rs.EOF
  15.     Response.Write "<form action='del.asp' method='post'>"
  16.     Response.Write "Name : " & rs("name") & "<br>"
  17.     Response.Write "Email : " & rs("email") & "<br>"
  18.     Response.Write "Country : " & rs("country") & "<br>"
  19.     Response.Write "Comments : " & rs("comments") & "<br>"
  20.     Response.Write "<input type='hidden' name='id' value='" & rs("id") & "'>"
  21.     Response.Write "<input type='submit' value='Delete'>" & "<br>"
  22.     Response.Write "</form>"
  23.     no = no + 1
  24.     rs.MoveNext
  25. Wend
  26.  
  27. ' Done. Now close the Recordset
  28. rs.Close
  29. Set rs = Nothing
  30.  
  31. Response.Write "<p>Total Records Found : " & no
  32. %>


Et je reçois cette erreur:

Microsoft Jet Database Engine erreur "80040e14"
Erreur de syntaxe dans la requête. Clause de la requête est incomplète.
/ forms / showall.asp, ligne 10


Que dois-je changer???

Merci à l'avance
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Juil 25, 2005
  • Messages: 2735
  • Loc: Nashville, TN
  • Status: Offline

Message Août 6th, 2009, 4:35 am

Mettez-le là où l'ancienne requête est la suivante:

Code: [ Select ]
rs.Open "SELECT TOP 3 * FROM 'users' LIMIT 0,3", data_source
I'd love to change the world, but they won't give me the source code.
  • anyusernamewilldo
  • Novice
  • Novice
  • No Avatar
  • Inscription: Aoû 05, 2009
  • Messages: 22
  • Status: Offline

Message Août 6th, 2009, 9:46 am

No Joy Im Afraid :( Insérant le code que vous avez suggéré à la place de l'ancienne requête affiche les éléments suivants:

Microsoft Jet Database Engine erreur "80040e14"
Erreur de syntaxe dans la requête. Clause de la requête est incomplète.
/ forms / showall.asp, ligne 10


Heres le code:

Code: [ Select ]
<%
' Declaring variables
Dim rs, data_source, no
no = 0
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
    Server.MapPath("form.mdb")
 
' Creating Recordset Object and opening the database
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT TOP 3 * FROM 'users' LIMIT 0,3", data_source
 
 
' Looping through the records to show all of them
While Not rs.EOF
    Response.Write "<form action='del.asp' method='post'>"
    Response.Write "Name : " & rs("name") & "<br>"
    Response.Write "Email : " & rs("email") & "<br>"
    Response.Write "Country : " & rs("country") & "<br>"
    Response.Write "Comments : " & rs("comments") & "<br>"
    Response.Write "<input type='hidden' name='id' value='" & rs("id") & "'>"
    Response.Write "<input type='submit' value='Delete'>" & "<br>"
    Response.Write "</form>"
    no = no + 1
    rs.MoveNext
Wend
 
' Done. Now close the Recordset
rs.Close
Set rs = Nothing
 
Response.Write "<p>Total Records Found : " & no
%>
  1. <%
  2. ' Declaring variables
  3. Dim rs, data_source, no
  4. no = 0
  5. data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
  6.     Server.MapPath("form.mdb")
  7.  
  8. ' Creating Recordset Object and opening the database
  9. Set rs = Server.CreateObject("ADODB.Recordset")
  10. rs.Open "SELECT TOP 3 * FROM 'users' LIMIT 0,3", data_source
  11.  
  12.  
  13. ' Looping through the records to show all of them
  14. While Not rs.EOF
  15.     Response.Write "<form action='del.asp' method='post'>"
  16.     Response.Write "Name : " & rs("name") & "<br>"
  17.     Response.Write "Email : " & rs("email") & "<br>"
  18.     Response.Write "Country : " & rs("country") & "<br>"
  19.     Response.Write "Comments : " & rs("comments") & "<br>"
  20.     Response.Write "<input type='hidden' name='id' value='" & rs("id") & "'>"
  21.     Response.Write "<input type='submit' value='Delete'>" & "<br>"
  22.     Response.Write "</form>"
  23.     no = no + 1
  24.     rs.MoveNext
  25. Wend
  26.  
  27. ' Done. Now close the Recordset
  28. rs.Close
  29. Set rs = Nothing
  30.  
  31. Response.Write "<p>Total Records Found : " & no
  32. %>
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Juil 25, 2005
  • Messages: 2735
  • Loc: Nashville, TN
  • Status: Offline

Message Août 6th, 2009, 10:18 am

Doh, j'ai raté la clause LIMIT...goutte qui permet d'échec et faire:

Code: [ Select ]
rs.Open "SELECT TOP 3 * FROM 'users'", data_source
I'd love to change the world, but they won't give me the source code.
  • anyusernamewilldo
  • Novice
  • Novice
  • No Avatar
  • Inscription: Aoû 05, 2009
  • Messages: 22
  • Status: Offline

Message Août 6th, 2009, 10:28 am

Still a rien à faire.

Réception d'erreur:

Microsoft Jet Database Engine erreur "80040e14"
Erreur de syntaxe dans la requête. Clause de la requête est incomplète.
/ forms / showall.asp, ligne 10


Heres the Code:

Code: [ Select ]
<%
' Declaring variables
Dim rs, data_source, no
no = 0
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
    Server.MapPath("form.mdb")

' Creating Recordset Object and opening the database
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT TOP 3 * FROM 'users' ", data_source


' Looping through the records to show all of them
While Not rs.EOF
    Response.Write "<form action='del.asp' method='post'>"
    Response.Write "Name : " & rs("name") & "<br>"
    Response.Write "Email : " & rs("email") & "<br>"
    Response.Write "Country : " & rs("country") & "<br>"
    Response.Write "Comments : " & rs("comments") & "<br>"
    Response.Write "<input type='hidden' name='id' value='" & rs("id") & "'>"
    Response.Write "<input type='submit' value='Delete'>" & "<br>"
    Response.Write "</form>"
    no = no + 1
    rs.MoveNext
Wend

' Done. Now close the Recordset
rs.Close
Set rs = Nothing

Response.Write "<p>Total Records Found : " & no
%>
  1. <%
  2. ' Declaring variables
  3. Dim rs, data_source, no
  4. no = 0
  5. data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
  6.     Server.MapPath("form.mdb")
  7. ' Creating Recordset Object and opening the database
  8. Set rs = Server.CreateObject("ADODB.Recordset")
  9. rs.Open "SELECT TOP 3 * FROM 'users' ", data_source
  10. ' Looping through the records to show all of them
  11. While Not rs.EOF
  12.     Response.Write "<form action='del.asp' method='post'>"
  13.     Response.Write "Name : " & rs("name") & "<br>"
  14.     Response.Write "Email : " & rs("email") & "<br>"
  15.     Response.Write "Country : " & rs("country") & "<br>"
  16.     Response.Write "Comments : " & rs("comments") & "<br>"
  17.     Response.Write "<input type='hidden' name='id' value='" & rs("id") & "'>"
  18.     Response.Write "<input type='submit' value='Delete'>" & "<br>"
  19.     Response.Write "</form>"
  20.     no = no + 1
  21.     rs.MoveNext
  22. Wend
  23. ' Done. Now close the Recordset
  24. rs.Close
  25. Set rs = Nothing
  26. Response.Write "<p>Total Records Found : " & no
  27. %>
  • anyusernamewilldo
  • Novice
  • Novice
  • No Avatar
  • Inscription: Aoû 05, 2009
  • Messages: 22
  • Status: Offline

Message Août 6th, 2009, 10:51 am

A résolu!

UPSGuy recommandé:

Code: [ Select ]
rs.Open "SELECT TOP 3 * FROM 'users'", data_source



Tweaked Version: Working! (affiche les 3 plus récents résultats)

Code: [ Select ]
rs.Open "SELECT TOP 3 * FROM users ORDER BY id DESC ", data_source



Im so happy son fonctionnement Maintenant que le son a fait ma journée! gif "alt =": D "title =" très heureux ">
Je n'aurais pas pu le faire sans votre aide UPSGuy . Merci pour toutes vos réponses très rapides. Youre un crédit pour le forum.

Merci
amazing premières impressions de ce forum.

Observe

Jy
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Juil 25, 2005
  • Messages: 2735
  • Loc: Nashville, TN
  • Status: Offline

Message Août 6th, 2009, 2:53 pm

Merci - Im se félicite de ce que pour vous. :D
I'd love to change the world, but they won't give me the source code.
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Mai 21, 2004
  • Messages: 3229
  • Loc: South Africa
  • Status: Offline

Message Août 7th, 2009, 8:21 am

Ainsi, il a été l'origine de l'erreur de prix car il n'ya pas de différence intrinsèque entre les requêtes. (Réservées pour la limite, j'ai vu en haut et j'ai vu la limite et me suis dit: "Tuer deux oiseaux avec une pierre" LOL)

Il suffit de définir:
TOP est sql server
LIMIT est mysql
Watch me grow
  • anyusernamewilldo
  • Novice
  • Novice
  • No Avatar
  • Inscription: Aoû 05, 2009
  • Messages: 22
  • Status: Offline

Message Août 7th, 2009, 8:45 am

Ta muchly pour l'info chien enragé...

vous les gars ont été très utile, Ive ne jamais vraiment travaillé avec php et html et n'ont jamais tripoté avec quelques flash et MySQL.

Il ya deux semaines, j'ai décidé de couler mes dents dans quelque chose de nouveau et essayer de le faire autour de ma tête
. asp, mysql / sql.

Quoi qu'il en soit, les choses ont été menées à bien et jusqu'à présent, "ce message" Ce fut ma première question qui m'a vraiment bloqué à un jour...
Im sûr qu'il y aura beaucoup plus de difficultés pour moi de faire face à encore mais jusqu'à présent, très bon.

Cheers nouveau gars
No Doubt de retour Ill.
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Mai 21, 2004
  • Messages: 3229
  • Loc: South Africa
  • Status: Offline

Message Août 7th, 2009, 9:20 am

Dans l'attente de vos messages :) Puis-je recommander à la recherche subsoniques ou nHibernate pour vos données d'accès? Oh et ne vous inquiétez pas asp, asp.net plutôt regarder. IIS asp vaguement soutient maintenant un jour
Watch me grow
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Juil 25, 2005
  • Messages: 2735
  • Loc: Nashville, TN
  • Status: Offline

Message Août 7th, 2009, 10:50 am

Subsonique ou nHibernate sur une base Access? : S
I'd love to change the world, but they won't give me the source code.
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Mai 21, 2004
  • Messages: 3229
  • Loc: South Africa
  • Status: Offline

Message Août 7th, 2009, 10:59 am

LOL Je suis assez certain que vous pouvez le faire, après tout, c'est tout le conducteur qui change
Watch me grow

Afficher de l'information

  • Total des messages de ce sujet: 14 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 117 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC