Für das Phänomen negativer Zahlen während des Recordset Paging glaube ich, dass viele Menschen auf dieses Problem gestoßen sind, und manchmal werden Baidu und Google nicht verwirrt.
Eine negative Zahl hängt hauptsächlich mit dem Art des Cursors zusammen. (Zum Beispiel ist es bequem, vorausgesetzt, es gibt bereits eine Datei der Conn.asp -Link -Datenbank und es wurde einbezogen.) Jetzt ist ein Beispiel wie folgt:
SQL = SELECT * SELECT * Aus der Tabelle, in der die Bedingungen bestellen nach ID Desc 'Hier können nach Ihren Anforderungen umgeschrieben werden
Setzen Sie rs = const.execute (SQL) '=== Beachten Sie diesen Satz ===
Rs.PageSize = 10 '=== Setzen Sie die Anzahl der Datensätze pro Seite 10 ===
Page = Request.queryString (Seite)
Wenn Seite = dann Seite = 1
Wenn nicht isnumerisch (Seite), dann Seite = 1
Seite = clng (Seite)
Wenn Seite <1 die Seite = 1
Wenn Seite> Rs.PageCount that = vrs.pageCount
Rs.absolutepage = Seite
Dim c
C = 1
Tun, während nicht Rs.Eof und C <= rs.pageCount
'Ausgabeinhalt
C = C+1
Rs.Movenext
Schleife
'Erstellen Sie einen Seitenlink
Nach dem obigen Code erfolgt das RecordSet -Objekt direkt nach dem Code: Setzen Sie RS = Conn.execute (SQL). und die Art der Sperrung beträgt 0, was darauf hinweist, dass nur Lesen nur Lesevorgänge gelesen wird, wobei nur das Lesen nur gelesen wird, wobei nur Lesen nur gelesen werden kann, was nur Lesen nur liest, was nur Lesen zeigt, was nur gelesen wird, was nur angibt, dass nur Lesen nur Lesen nur lesen. Nur das Lesen nur Lesen anzeigen Lesen Sie, wobei nur Lesen nur Lesungen gelesen haben, wobei nur Lesen nur gelesen werden kann, wobei nur Lesen nur gelesen werden kann, was nur Lesen nur liest, was nur Lesen anzeigt, was nur Lesen zeigt, dass nur Lesen nur Lesungen angeben, was nur angibt, was nur anzeigt Lesen Sie nur Lesen, wobei nur Lesen angezeigt wird und nur das Lesen gelesen hat.
Wenn während der Paging eine negative Zahl angezeigt wird, überprüfen Sie, ob das Datensätze Objekt wie das obige Formular geschrieben ist, und es sollte geschrieben werden:
Setzen Sie rs = server.createObject (adodb.oldset)
Rs.oopen SQL, Conn, 1,3
Das obige zeigt an, dass der Cursor 1 ist, der sich vorwärts und rückwärts bewegen kann.
Nach der obigen Methode wird es kein Problem geben, aber für die Versicherung basiert das Prinzip des Recionsset Paging auf der Anzahl der Datensätze nach dem Lesen aller Aufzeichnungen. Lassen PageSize = 10 Fügen Sie die folgenden folgenden zwei Sätze hinzu:
Rs.Movelast 'Cursor bewegt sich bis zum Ende
Rs.Movefirst 'Cursor bewegt sich nach oben
Es ist bekannt, dass das Paginationsprinzip des Datensatzes zuerst die Datensätze in der gesamten Datenbank liest, bevor der Wert des Rs. -RecordCount erhalten wird. Diese Paging -Methode ist relativ einfach, aber es gibt einen tödlichen Nachteil. in der tatsächlichen Programmierung. Geben Sie nun eine Idee an, dass Sie in der SQL -Abfrageanweisung Paginierung durchführen können.
Beginnen Sie vom Nebel von Artikel M.
Wählen*
Von (selectTopn*
Von (selectTop (m+n-1)*von Tabellenname OrderByIdDesc) T1) T2
OrderByIddesc
Bei den obigen SQL -Anweisungen sind die Fehler relativ gering, und das Wichtigste ist, dass die Effizienz relativ hoch ist.