Empfohlen: Sprechen Sie über das Schreiben von Code, ähnlich wie Suchmaschinenfunktionen mit ASP Erstellen Sie zunächst eine Zugriffsdatenbank. In der Bibliothek befindet sich eine Urlindex -Tabelle, in der die Felder der URL- und Schlüsselwörter wie folgt indiziert sind
Es gibt viele Datenbankbetriebskategorien, die online suchen. Ich bin nicht besser als diese, aber ich habe sie nur selbst geschrieben und sie mehr benutzt. Ich habe also nichts Besonderes an mir, ich benutze nur meine Gewohnheiten. Was Effizienz und andere Aspekte betrifft, geben Sie mir bitte Ratschläge! !
Programmcode:
| Das Folgende ist der zitierte Inhalt: <% Klasse DBCLASS '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Variable Beschreibung 'conn -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'strsql ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------liche 'Vtbname -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'VPKey --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'VPGFields --------- Fragen an die Felder auf der Seite angezeigt werden 'VPGSIZE ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 'vcurrpg ------------------------------------------------------------------------------------------------------------------------ 'vconditions ---- Abfragen von Paging-Bedingungen 'VORDBY ------------- Sortieren von Abfrageseiten '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Conn, STRSQL, VTBNAME, VPKEY, VPGFields, VPGSIZE, VCURPG, VConditions, VORDBY 'Initialisierung der Klasse private sub class_initialize () 'Wenn es sich um eine MS -SQL -Datenbank handelt, legen Sie die folgenden zwei Variablen fest Name oder IP -Adresse des Datenbankservers "Dim Dbserver" "Dim dbname" -Datenbankname Dim dbPath 'Wenn es sich um eine Zugriffsdatenbank handelt, legen Sie hier ihren Pfad fest Dim Dbuser 'Der Anmeldeberbename der Datenbank Dim DBPass 'Domain -Anmeldekennwort Dim Connstr dbpath = /testasp/data/data.mdb 'Setzen Sie den Datenbankpfad DBUSER = admin DBPass = 123456 'Wenn es Zugriff ist und ein Passwort hat connStr = provider = microsoft.jet.oledb.4.0; Data Source = & Server.Mappath (dbPath) & _ User id = & dbuser &; password =; Jet OLEDB: Datenbank Passwort = & dbpass „Wenn es Zugriff ist und es kein Passwort gibt 'connStr = provider = microsoft.jet.oledb.4.0; Data Source = & Server.Mappath (dbPath) 'Wenn es sich um eine MS-SQL-Datenbank handelt 'ConnStr = Provider = SQLOLEDB; Benutzer id = & dbuser &; Passwort = & dbpass & _ '; Anfänglicher Catalog = & dbname &; Datenquelle = & dbserver Bei der nächsten Fehleraufnahme als nächstes Setzen Sie conn = server.createObject (adodb.Connection) Conn.open Connstr ERRMSG verbinden eine Verbindung zur Datenbank Ende sub 'Klassenende Private sub class_terate () conn.close Setzen Sie Conn = nichts Ende sub '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Setzen Sie Werte für Variablen der Klasse '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Setzen Sie SQL -Anweisungen Öffentliches Eigentum SQLStr (Byval -Werte) STRSQL = Werte Beenden Sie Eigentum 'Setzen Sie den Tabellennamen der Abfrageseite öffentliches Eigentum lassen Sie TBName (Byval -Werte) VTBNAME = Werte Beenden Sie Eigentum '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Legen Sie den Primärschlüssel der Abfrage -PAGED -Tabelle fest öffentliches Eigentum lassen Pkey (Byval -Werte) vpkey = Werte Beenden Sie Eigentum '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Setzen Sie die angezeigten Felder Öffentliches Eigentum lassen PGFields (Byval -Werte) VPGFields = Werte Beenden Sie Eigentum '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Legen Sie die Anzahl der pro Seite angezeigten Datensätze ein Öffentliches Eigentum lassen PGSIZE (Byval -Werte) VPGSIZE = Werte Beenden Sie Eigentum '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Legen Sie die Anzahl der derzeit angezeigten Seiten ein öffentliches Eigentum lassen Currpg (Byval -Werte) vcurrpg = Werte Beenden Sie Eigentum '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Setzen Sie die Abfragebedingungen öffentliche Eigentum zulassen Bedingungen (Byval -Werte) Wenn Len (Werte)> 0 dann vconditions = where & values anders vconditions = wobei 1 = 1 Ende wenn Beenden Sie Eigentum '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Setzen Sie die Art von Abfragen öffentliches Eigentum lassen Wenn Len (Werte)> 0 dann VORDBY = Order by & Values anders VORDBY = Werte Ende wenn Beenden Sie Eigentum '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Holen Sie sich die Gesamtzahl der Datensätze öffentliches Eigentum erhalten Sie VRSCOUNT () Wenn vcurrpg = 1 dann SQLC = SELECT COUNT (& VPKEY &) als IDCount von & vtbname & & vconditions Setzen Sie rsc = server.createObject (adodb.recordset) RSC.Open SQLC, Conn, 0,1 Rsnum = rsc (idCount) RSC.CLOSE Setzen Sie RSC = nichts Wenn rsnum> 0 dann response.cookies (irecord) = rsnum vrsCount = rsnum anders VRSCOUNT = 0 Ende wenn anders VRSCOUNT = Request.cookies (Irecord) Ende wenn Beenden Sie Eigentum 'Holen Sie sich die Gesamtzahl der Seiten öffentliches Eigentum Get VpgCount () IRSCOUNT2 = VRSCOUNT () Wenn IRSCOUNT2 MOD VPGSIZE = 0 dann dann VPGCount = int (IRSCOUNT2/VPGSIZE) anders VPGCount = int (IRSCOUNT2/VPGSIZE) 1 Ende wenn Beenden Sie Eigentum 'Abfragen Sie die Datenbank Öffentliche Funktion RSDB () Bei der nächsten Fehleraufnahme als nächstes 'Einfache Abfrageergebnisse 'setze rsdb = server.createObject (adodb.recordset) 'rsdb.open strsql, conn, 1,3 Setzen Sie rsdb = conn.execute (STRSQL) Errmsg Query -Datenbank Endfunktion 'Hinzufügen, aktualisieren, Datenbankdatensätze löschen öffentliche Funktion updb () Bei der nächsten Fehleraufnahme als nächstes Conn.Execute (STRSQL) Errmsg -Datenbankdatensätze bearbeiten Endfunktion '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Die zum Implementieren von Paging verwendete Funktionssatzfunktion Public Function Pager () Bei der nächsten Fehleraufnahme als nächstes Dunkelne Starter Starter = (vcurrpg-1)*vpgSize '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- „Wenn Sie diese Anweisung verwenden, müssen Sie den Code gemäß den Parametern ändern. Insbesondere, wenn die Sortierung ASC ist, dann wird <Änderung zu> und min in Max geändert 'wenn starters = 0 dann 'Strsql = Select Top & VPGSIZE & & VPGFields & von & VTBNAME & & VConditions & & VORDBY ' anders 'Strsql = Select Top & VPGSIZE & & VPGFields & von & VTBNAME & & VConditions & & & VPKey & < 'Strsql = Strsql & (SELECT MIN (& VPKEY &) aus (Wählen 'Strsql = strsql & vtbname & & vconditions & & vorderby &) als idtable) & vORDBY 'Ende wenn '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Wenn Starter = 0 dann STRSQL = Wählen anders STRSQL = SELECT TOP & VPGSIZE & & VPGFIELDS & VON & VTBNAME & & VCONDITIONS & UND VPKEY & NICHT STRSQL = STRSQL & IN (Wählen STRSQL = STRSQL &) & VORDSBY Ende wenn '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Setzen Sie Pager = server.createObject (adodb.Recordset) pager.open strsql, conn, 0,1 Errmsg -Paginierung Endfunktion '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- öffentliche Funktion SQLPage () Bei der nächsten Fehleraufnahme als nächstes SET SQLPAGE = Server.CreateObject (adodb.Recordset) Setzen Sie cm = server.createObject (adodb.command) CM.CommandType = 4 CM.ACTIVECONNECTION = Conn CM.CommandText = sp_util_page Cm.Parameters (1) = vpgfields Cm.Parameters (2) = vtbname CM.PARAMETERS (3) = vconditions CM.Parameters (4) = VORDBY Cm.Parameters (5) = vpkey CM.PARAMETERS (6) = Vcurrpg Cm.Parameters (7) = vpgSize Cm.Parameters (8) = vrscount () Cm.Parameters (9) = sqlpage.cursorLocation = 3 sqlpage.locktype = 1 sqlpage.open cm Errmsg -Paginierung Endfunktion '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Schließen Sie den Rekord -Set OBJRs '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Öffentliche Funktion CRS (Byval OBJRs) Objrs.close () Setzen Sie OBJRs = nichts Endfunktion '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- öffentliche Funktion pagenav () IRSCOUNT = VRSCOUNT () 'Gesamtzahl der Datensätze myPage = vcurrpg'currpg'currpg'current Page Count Pgcount = vpgcount () 'Gesamtzahl der Seiten prepage = myPage-1 Wenn Vorbereitung <1, dann Prepage = 1 Ende wenn NextPage = MyPage 1 Wenn NextPage> PGCount dann NextPage = PGCount Ende wenn PAGESTR = <DIV ID = FY> <span id = rpc> Es gibt insgesamt & iRSCOUNT & DRADES & MYPAGE &/& PGCOUNT & </span> PAGESTR = PAGESTR & <A HREF = '? if (myPage-1) mod 4 = 0 dann FirstPage = myPage elseif int ((myPage-1)/4) = 0 dann FirstPage = 1 anders FirstPage = int ((myPage-1)/4)*4 1 Ende wenn Endpage = FirstPage 4 Ast = für i = FirstPage zur Endseite Ast = Ast & <a href = '? currPage = & i &' ' Wenn cstr (myPage) = cstr (i) dann Ast = Ast & id = 'Currp' Ende wenn Ast = Ast &> & i & </a> Wenn i> pgCount-1 dann beenden Sie für nächste Ast = Ast & <a href = '? PAGESTR = PAGESTR & AST pagenav = pASTESTR Endfunktion 'Ausgangstabelle mit Paging -Funktion Funktionshowtb (Byval Tbtil) Setzen Sie rstb = pager () 'Wenn es sich um eine gespeicherte Prozedur handelt, rufen Sie SQLPage () auf (). tbrs = rstb.getrows () CRS (RSTB) itblrow = Ubound (tbrs, 2) ITBLCOL = UBOUND (TBTIL) tbstr = <table border = '0' cellpacing = '0' cellpadding = '0' cellpadding = '0'> <tbody> für R1 = 0 zu ITBLCOL tr1 = tr1 & <td width = '& split (tbtil (r1), |) (1) &'> & split (tbtil (r1), |) (0) & </td> nächste tr1 = <tr> & tr1 & </tr> für ri = 0 zu itblrow Für CI = 0 zu ITBLCOL td = td & <td width = '& split (tbtil (ci), |) (1) &'> & tbrs (CI, ri) & </td> nächste tr = tr & <tr> & td & </tr> td = null nächste Tbtil = null tbrs = null response.write (Tbstr & tr1 & tr & <Tr> <td colspan = '& itblcol 1 &'> & pagenav () & </td> </tr> </tbody> </table>) tbstr = null tr1 = null tr = null Endfunktion Drucken Sie die SQL -Anweisung, damit die Anweisung prüft, ob Fehler vorliegen Öffentliches sub prnsql () Antwort.Write (STRSQL) Ende sub '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Fehlertolerante Funktionen '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Funktion ERRMSG (ERRMSG) Wenn err.number <> 0 dann „Wenn es ein Problem gibt, können Sie den Code hier verwenden, um die Beschreibungsinformationen für das einfache Debuggen auszudrucken. Kommentieren response.write (cstr (err.description) & <br>) Err.clear Response.write <font color = '#ff0000'> & errmsg & fehler </font> 'Kommentar Antwort.end () Ende wenn Endfunktion '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 'Die Fehlertoleranzfunktion endet '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Endklasse %> |
Teilen: Dateisystem -STEMObject -Beispielcode In dem in diesem Abschnitt beschriebenen Beispielcode werden Beispiele im realen Leben bereitgestellt, um viele der im Dateisystem-System-Objektmuster verfügbaren Funktionen zu veranschaulichen. Dieser Code zeigt alle Funktionen, wie Objektmuster zusammen verwendet werden und wie sie effektiv in Ihrem eigenen Code verwendet werden können