Im ASP-Programmiersystem von Microsoft erleichtert die Einrichtung von ADO-Objekten den Zugriff auf Datenbanken über Webseiten. Insbesondere das Recordset-Objekt von ADO erleichtert die Steuerung der Ausgabe und Anzeige von Daten. In Visual InterDev6.0 (im Folgenden als VI6.0 bezeichnet), aufgrund der Einführung von Objektmodellen wie Script Object Model (im Folgenden als SOM bezeichnet), Design-Time Control (im Folgenden als DTC bezeichnet) und Data Environment Object Modell (im Folgenden als DEOM bezeichnet), Dies macht die Gestaltung des Webseitenzugriffs auf die Datenbank komfortabler.
Aufgrund des Themas und der Datenbankverbindung werden im Folgenden nur der Code und kurze Kommentare angegeben. Der Schwerpunkt liegt auf der Verwendung des Recordset-Objekts (oder Steuerelements) zur Implementierung der Paging-Anzeige von Datensätzen. Nach meinem Verständnis liegt der Schlüssel zur Paging-Anzeige in der Beherrschung der Eigenschaften und Methoden des Recordset-Objekts von ADO oder der Recordset-Steuerung von DTC (Design Time Control).
Diese sieben auf Seiten angezeigten Waffentypen können in vier Kategorien zusammengefasst werden:
Ich nenne die erste und zweite Methode vorübergehend die reine ASP-Methode, die auch auf inländischen ASP-Websites am häufigsten verwendet wird. Der Unterschied zwischen ihnen besteht nur in der Implementierungstechnik. Die Implementierung dieser beiden Methoden ist am einfachsten zu verstehen, verwendet die Least-Object-Konzepte und stellt die geringsten Anforderungen an die Entwicklungsumgebung (nur Notepad reicht aus). Man kann sagen, dass die Essenz dieser beiden Methoden immer noch die Idee der CGI-Programmierung ist, aber das ADO-Objekt wird in das Programm eingeführt.
Die vierte und fünfte DHTML-Methode werden vorübergehend SOM genannt. Diese beiden Methoden erfordern die Verwendung des von Microsoft vorgeschlagenen Skriptobjektmodells und der neuen Datenbankbindungsfunktionen des Tabellenobjekts in DHTML in der VI6.0-Umgebung (viele Bücher und Artikel stellen nur die CSS-Funktionen von DHTML vor) Es wird mit Stil verwendet Design und ignoriert die Einführung seiner Datenbindungsfunktionen), um das Umblättern von Seiten auf der Clientseite zu steuern. Es ist jedoch erforderlich, dass der Browser des Benutzers DHTML unterstützt, beispielsweise Microsoft Internet Explorer 4.0 und höher.
Die sechste Methode wird vorübergehend als serverseitige SOM-Methode bezeichnet. Es muss in der VI6.0-Umgebung entwickelt werden. Es verwendet mehrere DTC-Steuerelemente im von Microsoft vorgeschlagenen Skriptobjektmodell: Recordset, PageObject, Grid usw., um die Seitenwechselsteuerung auf der Serverseite (Client) zu implementieren. Dies ist eine aufregende, neue Programmiermethode, die Webseiten als Objekte behandelt (dieses Objektmodell unterscheidet sich vom herkömmlichen DOM-Dokumentobjektmodell: DOM kann nur den Client steuern, während SOM Server und Client steuern kann), es realisiert wirklich Objekt- orientierte Programmierung von Webseiten. Aber leider, vielleicht aufgrund meiner begrenzten persönlichen Fähigkeiten, denke ich persönlich, dass diese Technologie noch nicht sehr ausgereift ist. Beispielsweise ist die Integration mit dem Browser nicht sehr gut, was später ausführlich erläutert wird.
Die siebte Methode wird vorübergehend DEOM-Methode genannt. Außerdem wird das in VI6.0 etablierte Data Environment Object Model zum Erstellen von Recordset-Objekten verwendet. Dies ist ebenfalls eine relativ neue Methode in der Webprogrammierung und bietet im Vergleich zum SOM-Modell eigene Vorteile, auf die später näher eingegangen wird.
Alle unten aufgeführten Beispielquellcodes können kopiert und direkt verwendet werden. Sie müssen nicht einmal die Prinzipien verstehen. Ersetzen Sie einfach die fett gedruckten und kursiven Teile durch die entsprechenden Datenbanknamen oder Feldnamen.
Bevor wir mit der detaillierten Einführung verschiedener Paging-Methoden beginnen, erstellen wir zunächst eine Datenbank: Erstellen Sie mithilfe des Zugriffs in Office97 eine Employee.mdb, erstellen Sie darin eine Tabelle emp und legen Sie nur drei Felder fest: emp-ID, Nachname und Vorname. Das ist so einfach, weil es uns wichtig ist, wie die Ergebnisse des Recordsets verarbeitet werden.
Die erste Methode: direkte Parametersubstitutionsmethode
Bei dieser Methode wird manuell ein Recordset-Objekt erstellt und dessen Eigenschaften „pagesize“ (angegebene Anzahl angezeigter Datensätze pro Seite), „pagecount“ (Gesamtseitenzahl) und „absolutepage“ (aktuelle Seitenzahl) zur Steuerung der Paging-Ausgabe verwendet. Beim Paging wird <href> verwendet, um den Seitenzahlparameter direkt zu übernehmen und das Umblättern der Seiten zu steuern. Der Name der Webseite ist emp1.asp. Der Quellcode lautet wie folgt:
<%//Stellen Sie eine Verbindung mit der Datenbank „employee.mdb“ her.
Setze conn = Server.CreateObject(ADODB.Connection)
conn.Open drivers={Microsoft Access Driver (*.mdb)};dbq=employee.mdb
//Erstelle die Recordset-Objektinstanz rs der emp-Tabelle.
Setze rs = Server.CreateObject(ADODB.Recordset)
rs.Open emp, conn, 3
PageSize = 10 // Das Attribut „pagesize“ gibt die Anzahl der Datensätze an, die auf jeder Seite angezeigt werden sollen
Page = CLng(Request(Page)) 'String-Typ in Langtyp konvertieren
Wenn Seite < 1, dann ist Seite = 1
Wenn Seite > rs.PageCount, dann Seite = rs.PageCount
Wenn Seite <> 1 Dann
Response.Write <A HREF=emp1.asp?Page=1>Erste Seite</A>
Response.Write <A HREF=emp1.asp?Page= & (Page-1) & >Vorherige Seite</A>
Ende wenn
Wenn Seite <> rs.PageCount Dann
Response.Write <A HREF=emp1.asp?Page= & (Page+1) & >Nächste Seite </A>
Response.Write <A HREF=emp1.asp?Page=&rs.PageCount & >Last page</A>
Ende wenn
Antwort.Seitenzahl schreiben: & Seite & / & rs.PageCount & </font>
//Anzeige jeder Seite
//Kopfzeile anzeigen
Response.Write <CENTER><TABLE BORDER=1>
Response.WRITE <TR><TD> & rs.Fields(emp ID).Name & </TD>
Response.WRITE <TD> & rs.Fields(last name).Name & </TD>
Response.WRITE <TD> & rs.Fields(first name).Name & </TD></TR>
//Schleife, um jeden Datensatz anzuzeigen
rs.AbsolutePage = Seite // Weisen Sie die Seitennummer dem absolutepage-Attribut zu, um die erste Datensatznummer der aktuellen Seite zu erfahren
Für iPage = 1 To rs.PageSize //
Response.WRITE <TR><TD> & rs.Fields(emp ID).Value & </TD>
Response.WRITE <TD> & rs.Fields(first name).Value & </TD>
Response.WRITE <TD> & rs.Fields(last name).Value & </TD></TR>
rs.MoveNext
Wenn rs.EOF, dann beenden Sie For
Nächste
Antwort.Write </TABLE></CENTER>%>
Der zweite Typ: Formularübertragungsparametermethode
Diese Methode ist dieselbe wie die erste Methode beim Erstellen eines Recordset-Objekts, außer dass bei der Steuerung des Seitenumblätterns <input> und die case-Anweisung verwendet werden, um das Umblättern zu realisieren. Der Name der Webseite lautet: emp2.asp. Diese Methode weist einen Mangel in der Programmierlogik auf: Nach dem Drücken der Schaltfläche „Vorherige Seite“ oder „Nächste Seite“ und anschließendem Drücken der Schaltfläche „Aktualisieren“ im Browser wird die Seite automatisch umgeblättert. Der Quellcode lautet wie folgt:
if Pagenum = Then Pagenum = 1 //Beginne mit der Anzeige ab der ersten Seite
//Stellen Sie eine Datenbankverbindung und eine Recordset-Objektinstanz her.
Identisch mit der ersten Methode, hier übersprungen.
RS.Pagesize = 10 'Setzen Sie die Anzahl der auf einer Seite angezeigten Datensätze auf 10
// Bestimmen Sie die Umblätteraktion
Fallanfrage auswählen (NAV)
Fall
Sitzung(Seitenum) = 1
case First ' Erster Datensatz
Sitzung(Seitenum) = 1
case Prev ' Vorheriger Datensatz
wenn session(Pagenum) > 1 dann
Sitzung(Seitenum) = Sitzung(Seitenum) - 1
Ende wenn
case Next 'Nächster Datensatz
if session(Pagenum)<RS.PageCount dann
Sitzung(Seitenum) = Sitzung(Seitenum) + 1
Beenden Sie, wenn
case Last ' Letzter Datensatz
session(Pagenum) = RS.PageCount
Endauswahl
RS.Absolutepage = Clng(session(Pagenum)) //Bestimmen Sie die erste Datensatznummer der aktuellen Seite
//Aktuelle Seite anzeigen
Identisch mit der ersten Methode, hier übersprungen.
// Einstellungen der Schaltflächen der Navigationsseite
<form method=GET action=emp2.asp>
<Eingabetyp=Submit-Name=NAV-Wert=Homepage>
<Eingabetyp=Wert senden=Vorheriger Seitenname=NAV>
<Eingabetyp=Wert senden=Name der nächsten Seite=NAV>
<Eingabetyp=Wert senden=Letzter Seitenname=NAV></Formular>
Der dritte Typ: Verwenden Sie die Rastersteuerung zum Entwerfen von Seiten
Von allen Methoden ist dies die einfachste. Sie müssen lediglich das Recordset-Steuerelement und das Grid-Steuerelement im DTC auf die ASP-Webseite ziehen. Darüber hinaus können Sie auch wählen, ob das Umblättern der Seiten auf der Serverplattform oder der Clientplattform gesteuert werden soll. Der Nachteil besteht darin, dass Sie es in dem von ihm vorgegebenen Format anzeigen müssen und das Anzeigeformat der Tabelle nicht selbst frei steuern können.
So geht's:
Erstellen Sie ein Projekt emp.vip in VI6.0. Fügen Sie dann dem Projekt eine ASP-Webseite hinzu: emp3.asp.
Schritt 1: Wählen Sie „Datenverbindung hinzufügen...“ in der Menüleiste von VI6.0 und folgen Sie den Navigationsanweisungen des Entwicklungstools. Sie können problemlos eine Verbindung mit der Datenbank „Employee.mdb“ herstellen. Ziehen Sie ein Recordset-Steuerelement aus der DTC-Symbolleiste auf die Webseite und legen Sie seine Eigenschaften fest. Wie in der Abbildung gezeigt:
Wenn Sie das Steuerelement auf die Webseite ziehen, werden Sie von VI6.0 automatisch gefragt, ob Sie das Scripting-Objektmodell verwenden möchten. Klicken Sie auf „Ja“.
Schritt 3: Ziehen Sie ein Grid-Steuerelement aus der DTC-Symbolleiste auf die Webseite, klicken Sie dann mit der rechten Maustaste und legen Sie seine Eigenschaften fest, z. B.: Wählen Sie den Namen des im zweiten Schritt erstellten Recordset-Steuerelements aus, wählen Sie die Felder in der emp-Tabelle aus , jede Seite Wie viele Datensätze werden angezeigt und welches Anzeigeformat usw. Es ist sehr einfach und bequem. Folgen Sie einfach den Navigationsanweisungen.
Die vierte Methode: DHTML-Methode eins.
Datensätze werden in einer HTML-Tabelle angezeigt. Es nutzt die Datenbindungsfunktionen von Tabellen in DHTML, um die Paging-Anzeige von Datensätzen zu steuern. Der Nachteil besteht darin, dass Ihre Umblättermethode auf eine bestimmte Art und Weise beschränkt ist: nur auf die vorherige und nächste Seite, nicht jedoch auf die erste und letzte Seite. Da das Umblättern der Seiten clientseitig gesteuert wird, sind diese und die fünfte Methode die schnellsten, können aber leider nur auf Browsern verwendet werden, die DHTML unterstützen.
In DHTML ermöglicht das DATASRC-Attribut von <TABLE> die Bindung der Tabelle an eine Datenquelle, und ein anderes Attribut, DATAPAGESIZE, gibt die Anzahl der gleichzeitig auf einer Seite angezeigten Datensätze an.
Schauen wir uns das folgende Beispiel an:
Schritt 1: Ziehen Sie das Recordset-Steuerelement auf die neu erstellte Webseite emp4.htm und legen Sie seine Eigenschaften fest. Die Methode ist dieselbe wie die dritte Methode, die hier weggelassen wird.
Schritt 2: Geben Sie den folgenden Code ein:
<TABLE ID=Table1 DATASRC=#Recordset1_RDS DATAPAGESIZE=5> //Angenommen, dass das Recordset-Steuerelement zuvor Recordset1 genannt wurde. Zeigt 5 Datensätze pro Seite an.
<KOPF>
<TH ALIGN=left WIDTH=150>Emp ID</TH> //Ausgabe-Header
<TH ALIGN=left WIDTH=200>Last Name</TH>
<TH ALIGN=left WIDTH=200>Vorname</TH>
</KOPF>
<TR>
<TD><DIV DATAFLD=Emp ID></DIV></TD> //Inhalt der Tabelle ausgeben
<TD><DIV DATAFLD=Nachname></DIV></TD>
<TD><DIV DATAFLD=Vorname></DIV></TD>
</TR>
</TABELLE>
Schritt 3: Fügen Sie dann ein Paar DTCs-Button-Schaltflächensteuerelemente für die Seitennavigation hinzu, eines mit dem Namen btnPrevious (vorherige Seite) und das andere mit dem Namen btnNext (nächste Seite). Ihre entsprechenden Skripte lauten wie folgt:
<SCRIPT LANGUAGE=VBScript>
Funktion btnPrevious_onclick()
Table1. previousPage()
Funktion beenden
Funktion btnNext_onclick()
Table1.nextPage()
Funktion beenden
</SCRIPT>
Die fünfte Methode: DHTML-Methode zwei
Diese Methode ist eine Weiterentwicklung der vierten Methode. Mit der Methode des manuellen Schreibens von Skripten können wir die Navigationsschaltflächen für die Startseite und die letzte Seite erstellen und die Position (Datensatznummer) jedes Datensatzes bestimmen. Aus Platzgründen werde ich im Folgenden nur ein konkretes Beispiel vorstellen und eine kurze Erläuterung geben. Weitere Eigenschaften und Methoden zu DHTML- und Recordset-Steuerelementen finden Sie in den entsprechenden Büchern. Hierbei ist zu beachten, dass sich das Recordset-Steuerelement etwas von dem in der ersten und zweiten Methode eingeführten ADO-Recordset-Objekt unterscheidet: Das Recordset-Steuerelement stellt Eigenschaften wie Seitengröße und Seitenanzahl nicht direkt bereit und muss mit der beschriebenen Methode berechnet werden unten.
Schritt 1: Ziehen Sie das Recordset-Steuerelement auf die neu erstellte Webseite emp5.htm, nennen Sie es Recordset1 und legen Sie seine Eigenschaften fest. Die Methode ist dieselbe wie die dritte Methode, die hier weggelassen wird.
Schritt 2: Definieren Sie drei globale Variablen und schreiben Sie das Skript ondatasetcomplete (Dateneinstellung ist abgeschlossen) von Recordset1.
Dim gCurrentPageNumber //Aktuelle Seitennummer
Dim gMaxPageNumber //Maximale Seitenzahl
Dim gRecordsPerPage //Zeigt die Anzahl der Datensätze pro Seite an
gRecordsPerPage = 5 //Legen Sie die Anzahl der pro Seite angezeigten Datensätze auf 5 Datensätze fest.
Funktion Recordset1_ondatasetcomplete()
totalRecordCount = Recordset1.getCount() //Gesamtzahl der Datensätze
gMaxPageNumber = Int(totalRecordCount / gRecordsPerPage) //Ermitteln Sie die maximale Anzahl von Seiten
Wenn (totalRecordCount Mod gRecordsPerPage) > 0 dann
gMaxPageNumber = gMaxPageNumber + 1
Ende wenn
Funktion beenden
Schritt 3: Erstellen Sie Seitennavigationsschaltflächen.
Funktion btnFirst_onclick() 'Zur Startseite wechseln
gCurrentPageNumber = 1
DisplayData()
Funktion beenden
Funktion btnPrevious_onclick() 'Gehe zur vorherigen Seite
wenn gCurrentPageNumber > 1 Dann
gCurrentPageNumber = gCurrentPageNumber - 1
DisplayData()
Ende wenn
Funktion beenden
Funktion btnNext_onclick() 'Gehe zur nächsten Seite
wenn gCurrentPageNumber < gMaxPageNumber Dann
gCurrentPageNumber = gCurrentPageNumber + 1
DisplayData()
Ende wenn
Funktion beenden
Funktion btnLast_onclick() 'Zur letzten Seite wechseln
gCurrentPageNumber = gMaxPageNumber
DisplayData()
Funktion beenden
Schritt 4: Schreiben Sie eine Funktion, um jede Seite anzuzeigen. Es werden viele DHTML-Attribute und -Methoden verwendet. Den Lesern wird empfohlen, auf entsprechende Bücher zu verweisen.
SubDisplayData()
startRecord = ((gCurrentPageNumber - 1) * gRecordsPerPage) + 1 //Berechnen Sie die Anzahl der Datensätze (Position, Anzahl), die am Anfang jeder Seite angezeigt werden
rowCtr = 1
lblPageNumber.innerHTML = gCurrentPageNumber & / & gMaxPageNumber
For recordPtr = startRecord To (startRecord + gRecordsPerPage - 1) //Schleife, um jeden Datensatz einer Seite anzuzeigen
If recordPtr > Recordset1.getCount() Then //Leere Tabelle anzeigen
Table1.rows(rowCtr).cells(0).innerHTML = <P> </P>
Table1.rows(rowCtr).cells(1).innerHTML = <P> </P>
Table1.rows(rowCtr).cells(2).innerHTML = <P> </P>
Table1.rows(rowCtr).cells(3).innerHTML = <P> </P>
Else //Jede Seite speziell anzeigen
Recordset1.moveAbsolute(recordPtr) //Bewegen Sie den Datensatzzeiger.
empID = Recordset1.fields.getValue(emp ID)
empLName = Recordset1.fields.getValue(Vorname)
empFName = Recordset1.fields.getValue(Nachname)
Table1.rows(rowCtr).cells(0).innerText = recordPtr ' Zähler
Table1.rows(rowCtr).cells(1).innerText = empID
Table1.rows(rowCtr).cells(2).innerText = empLName
Table1.rows(rowCtr).cells(3).innerText = empFName
Ende wenn
rowCtr = rowCtr + 1
Nächste
Sub beenden
Darüber hinaus müssen wir im Onload-Ereignis des Fensterobjekts das folgende Skript schreiben:
Für rowCtr = 1 bis gRecordsPerPage
Table1.insertRow(rowCtr) 'Eine neue Spalte einfügen
Für cellCtr = 0 bis 3
Table1.rows(rowCtr).insertCell()
Nächste
Nächste
Sechste Methode: Methode zum Umblättern serverseitiger Steuerung.
Wenn wir die Daten auf der Serverseite paginieren, um eine HTML-Anweisung zu bilden, und diese dann an den Client ausgeben, besteht kein Problem, dass der Browser DHTML nicht unterstützt. Allerdings erfordert die Verwendung der serverseitigen Methode, dass wir das Recordset-Steuerelement jedes Mal neu generieren, wenn wir die Seite umblättern, sodass die Geschwindigkeit definitiv langsamer ist als bei der Verwendung der DHTML-Methode. Wenn der Server jedoch schnell genug ist, wird dieser langsame Client davon nichts bemerken.
Im folgenden Beispiel werde ich ein neues DTC-Steuerelement einführen: PageObject. Durch diese Steuerung wird die angegebene Webseite zu einem Webseitenobjekt, und die vom Benutzer im Serverskript dieser Webseite organisierten Unterroutinen und Funktionen können als Methoden des Webseitenobjekts betrachtet werden. Es bietet eine erweiterte Methode zur Verwaltung von Statusinformationen: Webseitenobjekte verfügen über einige Eigenschaften (Variablen), und Benutzer können die Lebensdauer dieser Eigenschaften definieren. Aufgrund der oben genannten Eigenschaften ist es für uns sehr praktisch, Skripte zum Umblättern von Seiten zu kompilieren.
Der Nachteil dieser Methode besteht jedoch darin, dass die Webseite automatisch umgeschaltet wird, nachdem Sie auf die Schaltfläche „Vorherige Seite“ oder „Nächste Seite“ und anschließend auf die Schaltfläche „Aktualisieren“ im Browser geklickt haben. Wenn Sie außerdem die Zurück-Taste im Browser drücken und dann die Umblättertaste drücken, kann es zu einer zufälligen Seite kommen. Dies alles wird durch die Objekteigenschaften der Webseite (globale Variablen) verursacht.
Schritt 1: Ziehen Sie das Recordset-Steuerelement auf die neu erstellte Webseite emp6.asp, nennen Sie es Recordset1 und legen Sie seine Eigenschaften fest. Die Methode ist dieselbe wie die dritte Methode, die hier weggelassen wird.
Schritt 2: Ziehen Sie das PageObject-Steuerelement auf die Webseite und nennen Sie es emplist. Klicken Sie dann mit der rechten Maustaste auf dieses Steuerelement, um die Eigenschaftenseite zu öffnen und die drei Eigenschaften (globale Variablen) MaxPageNumber, RecordsPerPage und CurrentPageNumber festzulegen. VI6.0 kann die Methoden get und set zum Lesen und Schreiben ihrer Werte verwenden. Informationen zur spezifischen Verwendung finden Sie in den entsprechenden Informationen.
Schritt 3: Schreiben Sie das ondatasetcomplete-Ereignis von Recordset1.
Funktion Recordset1_ondatasetcomplete()
RecordsPerPage = 5
empList.setRecordsPerPage(recordsPerPage)//Setzen Sie die Anzahl der Datensätze pro Seitenattribut des Webseitenobjekts auf 5
totalRecordCount = Recordset1.getCount()//Ermitteln Sie die Gesamtzahl der Datensätze im Datensatz
mpn = Int(totalRecordCount / RecordsPerPage) // MPN als Gesamtzahl der Seiten berechnen
Wenn (totalRecordCount Mod RecordsPerPage) > 0 dann
mpn = mpn + 1
Ende wenn
empList.setMaxPageNumber(mpn)
Funktion beenden
Schritt 4: Ziehen Sie vier Schaltflächensteuerelemente auf die Webseite und schreiben Sie ein Skript zur Umblättersteuerung. Wir erreichen das Umblättern hauptsächlich durch Ändern des Werts der CurrentPageNumber-Eigenschaft des Webseitenobjekts.
Funktion btnFirst_onclick() 'Zur Startseite wechseln
empList.setCurrentPageNumber(1)
Funktion beenden
Funktion btnPrevious_onclick() 'Gehe zur vorherigen Seite
cpn = empList.getCurrentPageNumber()
wenn cpn > 1 Dann
empList.setCurrentPageNumber(cpn - 1)
Ende wenn
Funktion beenden
Funktion btnNext_onclick() 'Gehe zur nächsten Seite
cpn = empList.getCurrentPageNumber()
wenn cpn < empList.getMaxPageNumber() dann
empList.setCurrentPageNumber(cpn + 1)
Ende wenn
Funktion beenden
Funktion btnLast_onclick() 'Zur letzten Seite wechseln
empList.setCurrentPageNumber( empList.getMaxPageNumber() )
Funktion beenden
Um sicherzustellen, dass beim ersten Betreten der Seite die erste Seite angezeigt wird, müssen wir auch das onEnter-Ereignis des Webseitenobjekts schreiben.
Funktion empList_onEnter()
Wenn empList.firstEntered Dann
empList.setCurrentPageNumber(1)
Ende wenn
Funktion beenden
Schritt 5: Schreiben Sie ein Skript, das jede Seite anzeigt.
<HR><TABLE BORDER=0><TR>//Kopfzeile anzeigen
<TH ALIGN=linke WIDTH=35></TH>
<TH ALIGN=left WIDTH=150>Emp ID</TH>
<TH ALIGN=left WIDTH=200>Last Name</TH>
<TH ALIGN=left WIDTH=200>Vorname</TH></TR>
<%
pageNumber = empList.getCurrentPageNumber()//Berechnen Sie verschiedene Parameter, die zum Umblättern erforderlich sind, genau wie bei DHTML-Methode 2
RecordsPerPage = empList.getRecordsPerPage()
startRecord = ((pageNumber - 1) * RecordsPerPage) + 1
lastRecord = Recordset1.getCount()
Für recordPtr = startRecord To (startRecord + RecordsPerPage - 1)%>
<%If Recordset1.EOF = True Then%>
<TR>
<TD> </TD>
<TD> </TD>
<TD> </TD>
<TD> </TD>
</TR>
<%Else%>
<%Recordset1.moveAbsolute(recordPtr)%>
<TR>
<% Wenn recordPtr <= lastRecord Dann %>
<TD><%=recordptr%></TD>
<%Else%>
<TD> </TD>
<%End If %>
<TD><%=Recordset1.fields.getValue(emp ID)%></TD>
<TD><%=Recordset1.fields.getValue(last name)%></TD>
<TD><%=Recordset1.fields.getValue(first name)%></TD>
</TR>
<%End If%>
<%Weiter%>
</TABLE><HR>
Siebte Methode: Methode des Datenumgebungsobjektmodells (Datenumgebungsobjektmodell).
Das Data Environment-Objektmodell abstrahiert das ADO-Objektmodell und seine Objekte – Verbindungs-, Befehls-, Recordset-, Feld- und Parameterobjekte – in eine einfachere Form. Das Data Environment Object Model stellt Befehle als Methoden bereit. Der Benutzer kann diese Methoden aufrufen, die die Befehle ausführen und das resultierende Recordset zurückgeben. Ausführliche Informationen zum DEOM-Objektmodell finden Sie in den entsprechenden Büchern. Schauen wir uns das Beispiel der folgenden Webseite emp7.asp an:
Schritt 1: Klicken Sie mit der rechten Maustaste auf das Projekt im Projekt-Explorer-Fenster von VI6.0 und wählen Sie im Popup-Menü die Option „Datenverbindung hinzufügen“. Nachdem der Benutzer gemäß den Navigationsanweisungen des VIs eine Verbindung zur Datenbank hergestellt hat, fügt er einen Datenbefehl hinzu, um über die ASP-Anwendung auf die Datenbank zuzugreifen. Gleichzeitig sehen Sie im Projekt-Explorer-Fenster ein Datenumgebungsobjekt unter der Datei global.asa.
Schritt 2: Klicken Sie mit der rechten Maustaste auf das Datenumgebungsobjekt und wählen Sie im Popup-Menü die Option „Datenbefehl hinzufügen“, um einen Datenbefehl „Command1“ hinzuzufügen. Gemäß der Navigationsaufforderung von VI6.0 können Sie auf der Seite „Allgemein“ des Popup-Fensters „Command1-Eigenschaften“ die Option „SQL-Anweisung“ auswählen und Folgendes eingeben: „select * from emp“. Drücken Sie OK, um zurückzukehren.
Schritt 3: Nachdem Sie den Datenbefehl erstellt haben, haben Sie eine Methode für das Datenumgebungsobjekt erstellt. Sie können diese Methode dann über das Skript aufrufen und die Methode gibt ein Recordset an den Benutzer zurück.
thisPage.createDE() // Im SOM-Modus repräsentiert thisPage das aktuelle Webseitenobjekt und die Methode createDE() erstellt das DE-Objekt.
DE.Command1//Führen Sie den Befehl des DE-Objekts aus, dem Parameter folgen können, was bei bedingten Abfragen sehr nützlich ist.
Set rs=DE.rsCommand1//DE.rscommand1 macht das rs-Objekt vollständig äquivalent zu einem ADO-Recordset-Objekt.
Schritt 4: Da rs ein ADO-Objekt ist, bezieht sich der folgende Code zum Umblättern vollständig auf die verschiedenen oben vorgestellten Methoden und wird hier übersprungen.
Andere umfassen Methoden, die in der Datenbanknavigation von FrontPage2000 usw. implementiert sind. Da sie nicht mit diesem Thema zusammenhängen, werden sie hier weggelassen.
Zusammenfassend lässt sich sagen, dass jede zuvor vorgestellte Methode viele neue Technologien enthält, die aus Platzgründen nicht ausführlich diskutiert werden können. In diesem Artikel werden lediglich verschiedene Methoden der ASP-Webseitenprogrammierung anhand des spezifischen Beispiels des Umblätterns vorgestellt. Damit jeder die leistungsstarke Funktion von VI6.0 bei der Vorbereitung von Webseiten kennenlernen und sich mit ihnen vertraut machen kann, erfahren Sie, wie Sie DHTML und DTC-Steuerelemente verwenden , SOM-Objektmodell und DEOM-Objektmodell; ich hoffe, dass es Ihnen beim Kompilieren von Webseiten mehr Auswahlmöglichkeiten und Referenzen bieten kann.