Ich habe sieben Haupt-Tutorials geschrieben,
eines aus der Reihe der fortgeschrittenen Einstiegs- und Beherrschungs-Tutorials
. Es gibt definitiv einige grundlegende Dinge, die ich nach und nachzum Inhalt der Zwischen-Tutorials hinzufügen muss:
Dies kann auch jeder tun Am meisten besorgt über: wie zum Beispiel: Datenbankbetrieb und -verpackung. Verwendung von in Asp integrierten Objekten. Ich werde mich ausführlich mit der Erläuterung dieser Teile befassen. In diesem Teil müssen Sie sich besser mit der Verwendung von ADO für den Betrieb der Datenbank auskennen und mit den fünf Hauptobjekten von ASP vertraut sein.
Werfen wir einen Blick auf einige der online verbreiteten Informationen:
Wie wir alle wissen, verfügt ASP über fünf integrierte Objekte: Antwort, Anforderung, Server, Sitzung und Anwendung. Tatsächlich sind diese fünf integrierten Objekte die fünf ActiveX-DLL-Komponenten, die von der IIS-Konsole initialisiert werden Fünf Komponenten zur Verwendung in ASP. Natürlich können wir diese Komponenten auch direkt in unserer ActiveX-DLL referenzieren, um unsere Programmierung zu implementieren. Dies bedeutet, dass wir die Funktion des Zugriffs auf in ASP integrierte Objekte erreichen können, indem wir auf diese Komponenten in VB-Anwendungen verweisen.
Solange Sie einen WEB-Server mit PWS4 oder IIS4 oder höher installieren, verfügen Sie über eine Objektbibliothek mit dem Namen „Microsoft Active Server Pages Object“. Wir können auf diese Objektbibliothek in der ActiveX-DLL-Anwendung verweisen Ich habe ein Objekt (eine Klasse) erhalten: ScriptingContext, das auch das Kernobjekt unseres gesamten Artikels ist. Die Beziehung innerhalb der Objektbibliothek ist wie folgt:
Klassenmitglied der Objektbibliothek
ASPTypeLibrary ScriptingContext Application
Request
Response
Session
Server
Durch das obige Beziehungsdiagramm können wir die Klasse ScriptingContent leicht verstehen.
Schauen wir uns ein konkretes Beispiel an:
Öffnen Sie vb6 und erstellen Sie ein neues Activex-DLL-Projekt. Ändern Sie den Projektnamen in fCom und den Klassennamen in fZ1
Verweis auf die Objektbibliothek „Microsoft Active Server Pages Object“.
Erstellen Sie zwei Komponentenereignisse: OnStartPage und OnEndPage
Erstellen Sie im Ereignis OnStartPage einen Verweis auf die Klasse ScriptingContent.
Instanziieren Sie die Klasse ScriptingContent.
Der Code lautet wie folgt:
Programmcode
Option explizit
'Objektdeklaration
Dimmen Sie myResponse als Antwort
Dimmen Sie myRequest als Anfrage
Dimmen Sie myApplication als Anwendung
Dimmen Sie myServer als Server
Dimmen Sie mySession als Sitzung
„Dieses Ereignis wird ausgelöst, wenn die Komponente erstellt wird.“
Öffentliches Sub OnStartPage(myScriptingContent As ScriptingContext)
'Objektinstanziierung ausführen
Setzen Sie myResponse = myScriptingContent.Response
Setzen Sie myRequest = myScriptingContent.Request
Setzen Sie myServer = myScriptingContent.Server
Legen Sie myApplication = myScriptingContent.Application fest
Setzen Sie mySession = myScriptingContent.Session
myResponse.Write „ActiveX-DLL-Komponente wurde erstellt!“
End Sub
'Dieses Ereignis wird ausgelöst, wenn die Komponente zerstört wird
Öffentliches Sub OnEndPage()
myResponse.Write „ActiveX-DLL-Komponente wurde zerstört!“
„Zerstöre das Objekt.“
Setze myResponse = Nothing
Setze myRequest = Nothing
Setze myServer = Nothing
Setze myApplication = Nothing
Setze mySession = Nothing
End Sub
'Definieren Sie eine eigene Komponentenmethode
Öffentliches Sub HelloWorld()
myResponse.Write „Dies wird mit integrierten Asp-Objekten geschrieben“
Sub beenden
Testen Sie Open Visual Interdev6.0 und generieren Sie eine ASP-Datei
Programmcode
<%@ Language=VBScript %>
<HTML>
<KÖRPER>
<%
set obj=server.CreateObject("fCom.fZ1")
Rufen Sie obj.HelloWorld() auf
%>
</BODY>
</HTML>
Konfigurieren Sie das virtuelle Verzeichnis und führen Sie diese ASP-Datei im IE aus. Die Ergebnisse sind wie folgt:
Die ActiveX-DLL-Komponente wurde erstellt! Diese mit asp-integrierten Objekten geschriebene ActiveX-DLL-Komponente wurde zerstört!
Asp-Komponenten-Zwischeneintrag und Mastery-Serie Teil 2
Schauen wir uns zunächst das Anwendungsobjekt an und Datenbanken Für den Verbindungsstring nehmen wir den Zähler als Beispiel:
Schauen wir uns zunächst die Datei global.asa an. Das ist relativ einfach.
Programmcode
<Skriptsprache =vbscript runat=server>
subApplication_onstart
Anwendung("Zähler")=0
Ende sub
</script>
dann
vb6 und erstellen Sie ein neues Activex-DLL-Projekt. Der Projektname wird in fCom und der Klassenname in fZ2 geändert
Verweis auf die Objektbibliothek „Microsoft Active Server Pages Object“.
Erstellen Sie zwei Komponentenereignisse: OnStartPage und OnEndPage
Erstellen Sie im Ereignis OnStartPage einen Verweis auf die Klasse ScriptingContent.
Instanziieren Sie die Klasse ScriptingContent.
Der Code lautet wie folgt:
Programmcode
Option explizit
'Objektdeklaration
Dimmen Sie myResponse als Antwort
Dimmen Sie myRequest als Anfrage
Dimmen Sie myApplication als Anwendung
Dimmen Sie myServer als Server
Dimmen Sie mySession als Sitzung
„Dieses Ereignis wird ausgelöst, wenn die Komponente erstellt wird.“
Öffentliches Sub OnStartPage(myScriptingContent As ScriptingContext)
'Objektinstanziierung ausführen
Setzen Sie myResponse = myScriptingContent.Response
Setzen Sie myRequest = myScriptingContent.Request
Setzen Sie myServer = myScriptingContent.Server
Legen Sie myApplication = myScriptingContent.Application fest
Setzen Sie mySession = myScriptingContent.Session
Sub beenden
'Dieses Ereignis wird ausgelöst, wenn die Komponente zerstört wird
Öffentliches Sub OnEndPage()
„Zerstöre das Objekt.“
Setze myResponse = Nothing
Setze myRequest = Nothing
Setze myServer = Nothing
Setze myApplication = Nothing
Setze mySession = Nothing
Sub beenden
„Sie können sehen, dass die Schreibmethode dieselbe ist, nachdem Sie das, was in asp geschrieben wurde, nach vb verschoben haben.
Öffentlicher Sub ShowCounter()
Dimmen Sie den Zähler so lange
myApplication.Lock
intcounter = myApplication("counter")
intcounter = intcounter + 1
myApplication("counter") = intcounter
myApplication.UnLock
myResponse.Write CStr(intcounter)
Sub beenden
Testen Sie
Open Visual Interdev6.0 und generieren Sie eine ASP-Datei
Programmcode
<%@ Language=VBScript %>
<HTML>
<KÖRPER>
<%
dim obj
set obj=server.CreateObject("fCom.fZ2")
obj.ShowCounter()
%>
</BODY>
</HTML>
Nachdem Sie das virtuelle Verzeichnis konfiguriert haben, müssen Sie die Datei global.asa im Stammverzeichnis ablegen, diese ASP-Datei im IE ausführen, die Seite aktualisieren und Sie sehen eine sich ändernde Nummer.
Das ist alles für die Nutzung der Anwendung.
zur mittleren Einstiegsebene der Asp-Komponente und der Mastery-Serie 3,
Session, ist es viel einfacher
, vb6 zu öffnen und ein neues Activex-DLL-Projekt zu erstellen. Ändern Sie den Projektnamen in fCom und den Klassennamen in fZ3
Verweis auf die Objektbibliothek „Microsoft Active Server Pages Object“.
Erstellen Sie zwei Komponentenereignisse: OnStartPage und OnEndPage
Erstellen Sie im Ereignis OnStartPage einen Verweis auf die Klasse ScriptingContent.
Instanziieren Sie die Klasse ScriptingContent.
Der Code lautet wie folgt:
Programmcode
Option explizit
'Objektdeklaration
Dimmen Sie myResponse als Antwort
Dimmen Sie myRequest als Anfrage
Dimmen Sie myApplication als Anwendung
Dimmen Sie myServer als Server
Dimmen Sie mySession als Sitzung
„Dieses Ereignis wird ausgelöst, wenn die Komponente erstellt wird.“
Öffentliches Sub OnStartPage(myScriptingContent As ScriptingContext)
'Objektinstanziierung ausführen
Setzen Sie myResponse = myScriptingContent.Response
Setzen Sie myRequest = myScriptingContent.Request
Setzen Sie myServer = myScriptingContent.Server
Legen Sie myApplication = myScriptingContent.Application fest
Setzen Sie mySession = myScriptingContent.Session
End Sub
'Dieses Ereignis wird ausgelöst, wenn die Komponente zerstört wird
Öffentliches Sub OnEndPage()
„Zerstöre das Objekt.“
Setze myResponse = Nothing
Setze myRequest = Nothing
Setze myServer = Nothing
Setze myApplication = Nothing
Setze mySession = Nothing
Sub beenden
„Sie können sehen, dass die Schreibmethode dieselbe ist, nachdem Sie das, was in asp geschrieben wurde, nach vb verschoben haben.
'Alle Sitzungsvariablen und -werte abrufen
Öffentliche Sub-ShowSession()
„Sie können ein Timeout von 20 Minuten einstellen
mySession.Timeout = 20
Dim myitem
„Holen Sie sich alle Sitzungen.“
Für jedes myitem in mySession.Contents
myResponse.Write myitem & ": " & mySession.Contents(myitem)
myResponse.Write „<br>“
Nächste
Sub beenden
Testen Sie
Open Visual Interdev6.0, generieren Sie eine ASP-Datei, um das virtuelle Verzeichnis zu konfigurieren, führen Sie diese ASP-Datei im IE aus. Sie können
den Namen sehen: Tornado
Alter: 26
Besonderheit:
Das ist alles für die Verwendung der Komponente Session. Andere Verwendungen von Session sind ähnlich.
Asp-Komponenten-Zwischeneinstieg und Mastery-Serie vier,
wir lernen auf Anfrage
Um zu sehen, wie Sie den von der Seite übermittelten Inhalt in der Komponente abrufen
, öffnen Sie vb6 und erstellen Sie ein neues Activex-DLL-Projekt. Der Projektname wird in fCom und der Klassenname in fZ4 geändert
Verweis auf die Objektbibliothek „Microsoft Active Server Pages Object“.
Erstellen Sie zwei Komponentenereignisse: OnStartPage und OnEndPage
Erstellen Sie im Ereignis OnStartPage einen Verweis auf die Klasse ScriptingContent.
Instanziieren Sie die Klasse ScriptingContent.
Der Code lautet wie folgt:
Programmcode
Option explizit
'Objektdeklaration
Dimmen Sie myResponse als Antwort
Dimmen Sie myRequest als Anfrage
Dimmen Sie myApplication als Anwendung
Dimmen Sie myServer als Server
Dimmen Sie mySession als Sitzung
„Dieses Ereignis wird ausgelöst, wenn die Komponente erstellt wird.“
Öffentliches Sub OnStartPage(myScriptingContent As ScriptingContext)
'Objektinstanziierung ausführen
Setzen Sie myResponse = myScriptingContent.Response
Setzen Sie myRequest = myScriptingContent.Request
Setzen Sie myServer = myScriptingContent.Server
Legen Sie myApplication = myScriptingContent.Application fest
Setzen Sie mySession = myScriptingContent.Session
End Sub
'Dieses Ereignis wird ausgelöst, wenn die Komponente zerstört wird
Öffentliches Sub OnEndPage()
„Zerstöre das Objekt.“
Setze myResponse = Nothing
Setze myRequest = Nothing
Setze myServer = Nothing
Setze myApplication = Nothing
Setze mySession = Nothing
End Sub
'Sie können sehen, dass die Schreibmethode dieselbe ist, nachdem Sie das, was in asp geschrieben wurde, nach vb verschoben haben.
Öffentliches Sub ShowRequest()
Dim myitem
'Post Weg
Für jedes myitem in myRequest.Form
myResponse.Write myitem & ": " & myRequest.Form(myitem)
myResponse.Write „<br>“
Nächste
'Methode abrufen
Für jedes myitem in myRequest.QueryString
myResponse.Write myitem & ": " & myRequest.QueryString(myitem)
myResponse.Write „<br>“
Nächste
„Einzelne Nachricht
myResponse.Write „Eine der Nachrichten ist „ & „: „ & myRequest(“username“)
myResponse.Write „<br>“
Sub beenden
Testen Sie
Open Visual Interdev6.0 und generieren Sie einen
Programmcode
für die Datei fz41.asp
<%@ Language=VBScript %>
<HTML>
<KÖRPER>
<form action="fz4_result.asp" method="post">
<INPUT id=text1 name=username>
<INPUT id=text2 name=age>
<INPUT id=submit1 type=submit value=Submit name=submit>
</form>
</BODY>
</HTML>
Sie müssen außerdem einen
Programmcode
für die übermittelte fz4_result.asp-Datei generieren
<%@ Language=VBScript %>
<HTML>
<KÖRPER>
<%
dim obj
set obj=server.CreateObject("fCom.fZ4")
Rufen Sie obj.ShowRequest auf
%>
</BODY>
</HTML>
Darüber hinaus müssen wir uns auch die Übermittlungsmethode ansehen, sodass wir einen
Programmcode
für die Datei fz42.asp benötigen
<%@ Language=VBScript %>
<HTML>
<KÖRPER>
<form action="fz4_result.asp?username='"& username &"'& age='"& age &"'" method="get" id=form1 name=form1>
<INPUT id=text1 name=username>
<INPUT id=text2 name=age>
<INPUT id=submit1 type=submit value=Submit name=submit>
</form>
</BODY>
</HTML>
Konfigurieren Sie das virtuelle Verzeichnis und führen Sie die Datei fc41.asp im IE aus. Klicken Sie nach der Eingabe des Inhalts auf die Schaltfläche und Sie sehen
den Benutzernamen: Tornado
Alter: 26
Senden: Senden
Eine der Meldungen lautet:
Führen wir die Datei fc42.asp im IE aus. Klicken Sie nach der Eingabe des Inhalts auf die Schaltfläche und Sie können
den Benutzernamen sehen: Tornado.
Alter: 26
Senden: Senden
Eine der Meldungen lautet: Tornado
und die Adressleiste wird
http://yang/xml/fz4_result.asp?username=%C1%FA%BE%ED%B7%E7&age=26&%CC%E1%BD%BB=Submit
Fortsetzung folgt
Asp Component Intermediate Entry and Mastery Series Teil 5
Werfen wir einen Blick auf das Response-Objekt. Tatsächlich haben wir in früheren Tutorials die Write-Methode dieses Objekts verwendet.
Hier verwenden wir das Response-Objekt, um Cookies zu setzen.
Öffnen Sie vb6 und erstellen Sie ein neues Activex-DLL-Projekt. Ändern Sie den Projektnamen in fCom und den Klassennamen in fZ5
Verweis auf die Objektbibliothek „Microsoft Active Server Pages Object“.
Erstellen Sie zwei Komponentenereignisse: OnStartPage und OnEndPage
Erstellen Sie im Ereignis OnStartPage eine Referenz auf die Klasse ScriptingContent.
Instanziieren Sie die Klasse ScriptingContent.
Der Code lautet wie folgt:
Programmcode
Option explizit
'Objektdeklaration
Dimmen Sie myResponse als Antwort
Dimmen Sie myRequest als Anfrage
Dimmen Sie myApplication als Anwendung
Dimmen Sie myServer als Server
Dim mySession As Session
'Dieses Ereignis wird ausgelöst, wenn die Komponente erstellt wird
Öffentliches Sub OnStartPage(myScriptingContent As ScriptingContext)
'Objektinstanziierung ausführen
Setzen Sie myResponse = myScriptingContent.Response
Setzen Sie myRequest = myScriptingContent.Request
Setzen Sie myServer = myScriptingContent.Server
Legen Sie myApplication = myScriptingContent.Application fest
Setzen Sie mySession = myScriptingContent.Session
End Sub
'Dieses Ereignis wird ausgelöst, wenn die Komponente zerstört wird
Öffentliches Sub OnEndPage()
„Zerstöre das Objekt.“
Setze myResponse = Nothing
Setze myRequest = Nothing
Setze myServer = Nothing
Setze myApplication = Nothing
Setze mySession = Nothing
End Sub
'Cookies von der Seite setzen und von der Komponente abrufen
Öffentlicher Sub GetCookie()
Dim myitem
„Alle Informationen
Für jedes myitem in myRequest.Cookies
myResponse.Write myitem & ": " & myRequest.Cookies.Item(myitem)
myResponse.Write „<br>“
Nächste
„Einzelne Nachricht
myResponse.Write „wobei der Benutzername „ & „: „ & myRequest.Cookies(“Benutzername“) ist
myResponse.Write „<br>“
myResponse.Write "wo das Alter des Benutzers ist" & ": " & myRequest.Cookies("age")
myResponse.Write „<br>“
End Sub
'Setzen Sie Cookies in der Komponente und laden Sie sie auf die Seite
Öffentliches Sub SetCookie()
myResponse.Cookies("com_username") = "Tornado"
myResponse.Cookies("com_age") = 26
myResponse.Expires = #13.09.2004#
Sub beenden
Kompilieren Sie es in eine DLL-Datei und das System registriert es automatisch.
Andernfalls registrieren Sie Regsvr32 manuell unter f:testfcom.dll,
um zu testen,
ob Visual Interdev6.0 geöffnet ist, generieren Sie eine fz5.asp-Datei
und konfigurieren Sie das virtuelle Verzeichnis, führen Sie die fc5.asp-Datei im IE aus. Sie könnenden Tornado
sehen
26
Alter: 26
Benutzername: Tornado
com_age: 26
com_username: Tornado, wobei der Benutzername lautet: Tornado, wobei das Benutzeralter lautet: 26
Fortsetzung folgt:
Einführung und Beherrschung der Asp-Komponenten, Serie Nr. 6
Als integriertes Objekt von Asp lernen wir schließlich das Serverobjekt
kennen Das Objekt verwendet mehr HTML-Codierung sowie die Umleitung und Übertragung von Webseiten.
Öffnen Sie vb6 und erstellen Sie ein neues Activex-DLL-Projekt. Der Projektname wird in fCom und der Klassenname in fZ6 geändert
Verweis auf die Objektbibliothek „Microsoft Active Server Pages Object“.
Erstellen Sie zwei Komponentenereignisse: OnStartPage und OnEndPage
Erstellen Sie im Ereignis OnStartPage einen Verweis auf die Klasse ScriptingContent.
Instanziieren Sie die Klasse ScriptingContent.
Der Code lautet wie folgt:
Programmcode
Option explizit
'Objektdeklaration
Dimmen Sie myResponse als Antwort
Dimmen Sie myRequest als Anfrage
Dimmen Sie myApplication als Anwendung
Dimmen Sie myServer als Server
Dim mySession As Session
'Dieses Ereignis wird ausgelöst, wenn die Komponente erstellt wird
Öffentliches Sub OnStartPage(myScriptingContent As ScriptingContext)
'Objektinstanziierung ausführen
Setzen Sie myResponse = myScriptingContent.Response
Setzen Sie myRequest = myScriptingContent.Request
Setzen Sie myServer = myScriptingContent.Server
Legen Sie myApplication = myScriptingContent.Application fest
Setzen Sie mySession = myScriptingContent.Session
End Sub
'Dieses Ereignis wird ausgelöst, wenn die Komponente zerstört wird
Öffentliches Sub OnEndPage()
„Zerstöre das Objekt.“
Setze myResponse = Nothing
Setze myRequest = Nothing
Setze myServer = Nothing
Setzen Sie myApplication = Nothing
Setze mySession = Nothing
End Sub
Public Sub ShowHtml(ByVal strHtml As String)
myResponse.Write myServer.HTMLEncode(strHtml)
End Sub
Public Sub ShowUrl(ByVal strUrl As String)
myResponse.Write myServer.URLEncode(strUrl)
End Sub
Public Sub ExecuteUrl()
myServer.Transfer „fz5.asp“
Sub beenden
Kompilieren Sie es in eine DLL-Datei und das System registriert es automatisch.
Andernfalls registrieren Sie Regsvr32 f:testfcom.dll manuell,
um
Visual Interdev6.0
zu testen
, generieren Sie eine fz6.asp-Dateiund konfigurieren Sie das virtuelle Verzeichnis. Führen Sie die fc6.asp-Datei im IE aus, um sie anzuzeigen
.
C1 %FA%BE%ED%B7%E7&age=26
Sie können den IE verwenden, um die Quelldatei anzuzeigen, um die HTML-Codierung anzuzeigen.
Dies ist die vorübergehende Einführung der in ASP integrierten Objekte, und wir werden sie später weiter untersuchen.
Sie können auch Rückschlüsse aus einem Beispiel ziehen und Eigenschaften und Methoden erlernen, die noch nicht eingeführt wurden.
Asp Component Intermediate Entry und Mastery Series Seven
startet den Datenbankbetrieb.
Gemeinsame Komponentenverpackung
1. Kapseln Sie die Datenbankverbindungsinformationen.
1> Geben Sie die Datenbankverbindungszeichenfolge direkt zurück, z. B.
den Programmcode
in der Komponente
Öffentliche Funktion datasource() als Variante
datasource = "driver={sql server};server=yang;uid=sa;pwd=; Database=northwind"
Funktion beenden
ASP-aufrufender
Programmcode
set obj=server.CreateObject("webdb.getinfo")
oconn=obj.datasource()
liegen auf der Hand. In der ASP-Datei kann Response.write oconn die Datenbankverbindungszeichenfolge anzeigen, was nicht den erwarteten Effekt hat.
2> Geben Sie
den Programmcode
des adodb.connection-Objekts zurück
Öffentliche Funktion GetConn() als ADODB.Connection
Setze conn = Neue ADODB.Connection
conn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;Benutzer-ID=sa;password=;Initial Catalog=Northwind;Data Source=yang"
conn.Offen
Setze GetConn = conn
Funktion beenden
Asp-
Aufrufprogrammcode
DataQuery dimmen
Setze DataQuery=Server.CreateObject("WebDbtest.GetInfomation")
set rs=server.createobject("adodb.recordset")
sql="wähle * von Mitarbeitern aus"
Rs.open sql,DataQuery.getconn,1,3
Antwort.Write Rs("LastName")
Response.write DataQuery.getconn.ConnectionString
set Rs=nothing
sieht gut aus, aber Response.write DataQuery.getconn.ConnectionString zeigt weiterhin die Datenbankverbindungszeichenfolge an. Sie können es testen.
2. Um Komponenten in einem Datensatz zu kapseln, können Sie lesen, was ich vor einiger Zeit geschrieben habe : http://blog.csdn.net/online/archive/2003/12/11/7764.aspx
Das Schlimme an diesem Code ist, dass die Datenbankverbindung auf der Seite beurteilt wird und auf die Daten zugegriffen wird. Persönlich denke ich, dass der beste Weg darin besteht,
sie in einen Datensatz zu kapseln und eine Verbindung zur Datenbank herzustellen Nachdem der Vorgang abgeschlossen ist, schließen Sie ihn rechtzeitig
und versuchen Sie, HTML-Code in der Komponente zu generieren, um alles zu kapseln. Zum Beispiel die folgende Methode
anstelle einer teilweisen Kapselung.
Die Asp-Komponenten-Zwischeneintrags- und Mastery-Serie Nr. 8
war in dieser Zeit ziemlich beschäftigt. Heute werfen wir einen Blick auf ein vollständiges Beispiel für die Datenkapselung und das Paging von
Open vb6 und erstellen ein neues Activex-DLL-Projekt. Der Projektname wird in fCom und der Klassenname in fZ8 geändert
Verweis auf „Microsoft Active Server Pages Object“, Objektbibliothek „Microsoft Activex Data Object 2.7 Library“.
Erstellen Sie zwei Komponentenereignisse: OnStartPage und OnEndPage
Erstellen Sie im Ereignis OnStartPage einen Verweis auf die Klasse ScriptingContent.
Instanziieren Sie die Klasse ScriptingContent.
Der Code lautet wie folgt:
Programmcode
Option explizit
'************************************************** *
'Autor: Tornado
„Funktion: Einfach anpassbare, vollständig gekapselte Komponente.“
„Zeit: 01.01.2005
'************************************************** *
'Objektdeklaration
Dimmen Sie MyResponse als Antwort
Dimmen Sie MyRequest als Anfrage
Dimmen Sie myApplication als Anwendung
Dimmen Sie myServer als Server
Dim mySession As Session
'Private Variablen
Private mPageSize So Long
Privates mstrSql als String
„Dieses Ereignis wird ausgelöst, wenn die Komponente erstellt wird.“
Öffentliches Sub OnStartPage(myScriptingContent As ScriptingContext)
'Objektinstanziierung ausführen
Setzen Sie MyResponse = myScriptingContent.Response
Setzen Sie MyRequest = myScriptingContent.Request
Setzen Sie myServer = myScriptingContent.Server
Legen Sie myApplication = myScriptingContent.Application fest
Setzen Sie mySession = myScriptingContent.Session
End Sub
'Dieses Ereignis wird ausgelöst, wenn die Komponente zerstört wird
Öffentliches Sub OnEndPage()
„Zerstöre das Objekt.“
Setzen Sie MyResponse = Nothing
Setze MyRequest = Nothing
Setze myServer = Nothing
Setze myApplication = Nothing
Setze mySession = Nothing
End Sub
'Tabelle anzeigen
Öffentliche Funktion ShowTable()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i als Ganzzahl
Dim j als Ganzzahl
Dimmen Sie intPage als Ganzzahl
Dimmen Sie intPageCount als Ganzzahl
Dimmen Sie strScriptName als String
Dim intPos als Ganzzahl
Dim intFieldCount As Integer
„Ermitteln Sie den Weg
strScriptName = MyRequest.ServerVariables("Script_Name")
intPos = InStrRev(strScriptName, "/")
Wenn intPos <> 0 Dann
strScriptName = Mid(strScriptName, intPos + 1)
Ende wenn
If IsEmpty(MyRequest("page")) Then
intPage = 1
Anders
intPage = CInt(MyRequest("page"))
Ende wenn
Bei Fehler GoTo-Fehler
conn.Open „Provider=SQLOLEDB.1;Persist Security Info=False;Benutzer-ID=sa;Initial Catalog=Northwind;Data Source=localhost“
rs.Open mstrSql, conn, adOpenStatic, adLockReadOnly
'Ermitteln Sie die Anzahl der Datensätze
intFieldCount = rs.Fields.Count
'Ausgabetabelle
MyResponse.Write „<table border=1 cellspaced=0 cellpadding=2>“
Wenn nicht, dann rs.EOF
rs.PageSize = mPageSize
rs.AbsolutePage = intPage
'Holen Sie sich die Seitenzahl
intPageCount = rs.PageCount
'Handeln Sie sich um das Paging
Wenn intPage < 1, dann ist intPage = 1
Wenn intPage > intPageCount, dann intPage = intPageCount
'Ausgabe-Header
MyResponse.Write „<tr>“
Für i = 0 bis intFieldCount - 1
MyResponse.Write „<th>“ & rs(i).Name & „</th>“
Nächste
MyResponse.Write „</tr>“
'Inhalt ausgeben
Für i = 1 bis mPageSize
Wenn rs.EOF Dann
Ausgang für
Ende wenn
MyResponse.Write „<tr>“
Für j = 0 bis intFieldCount - 1
MyResponse.Write „<td>“ & rs.Fields(j).Value & „</td>“
Nächste
MyResponse.Write „</tr>“
rs.MoveNext
Nächste
'Ausgabe-Paging
MyResponse.Write „<tr>“
Wenn intPage <> 1 Dann
MyResponse.Write "<a href=" & strScriptName & "?page=1>[Erste Seite]</a>"
MyResponse.Write "<a href=" & strScriptName & "?page=" & intPage - 1 & " >[Vorherige Seite]</a>"
Ende wenn
Wenn intPage <> intPageCount Dann
MyResponse.Write "<a href=" & strScriptName & "?page=" & intPage + 1 & ">[nächste Seite]</a>"
MyResponse.Write "<a href=" & strScriptName & "?page=" & intPageCount & ">[letzte Seite]</a>"
Ende wenn
MyResponse.Write "Page:<FONT COLOR='Red'>" & intPage & "/ " & intPageCount & "</FONT>"
MyResponse.Write „</tr>“
Ende wenn
MyResponse.Write „</table>“
„Ressourcen freigeben.“
Wenn nicht, dann ist rs nichts
Wenn rs.State = 1, dann
rs.Schließen
Ende wenn
Setrs=Nichts
Ende wenn
Wenn nicht, ist conn nichts, dann
Wenn conn.State = 1, dann
conn.Schließen
Ende wenn
Setze conn = Nothing
Ende wenn
Exit-Funktionsfehler
:
MyResponse.Write err.Number & err.Description
Wenn nicht, dann ist rs nichts
Wenn rs.State = 1, dann
rs.Schließen
Ende wenn
Setrs=Nichts
Ende wenn
Wenn nicht, ist conn nichts, dann
Wenn conn.State = 1, dann
conn.Schließen
Ende wenn
Setze conn = Nothing
Ende wenn
Funktion beenden
'Attribute definieren
Öffentliche Eigenschaft Get ShowPageSize() als Variante
ShowPageSize = mPageSize
End-Eigenschaft
Öffentliche Eigenschaft Let ShowPageSize(ByVal vNewValue As Variant)
mPageSize = vNewValue
End-Eigenschaft
Öffentliche Eigenschaft Get strSQL() As Variant
strSQL = mstrSql
End-Eigenschaft
Öffentliche Eigenschaft Let strSQL(ByVal vNewValue As Variant)
mstrSql = vNewValue
End-Eigenschaft
Kompilieren Sie es in eine DLL-Datei und das System registriert es automatisch.
Andernfalls registrieren Sie Regsvr32 f:testfcom.dll manuell,
um
Visual Interdev6.0 zu testen und eine fz8.asp-Datei zu generieren
Programmcode
<%@ Language=VBScript %>
<HTML>
<KÖRPER>
<%
dim obj
set obj=server.CreateObject("fcom.fz8")
'Die Anzahl der auf jeder Seite angezeigten Datensätze
obj.ShowPageSize=10
'SQL-Anweisung angezeigt
obj.strSQL="Kunden-ID, Firmenname, Kontaktname, Kontakttitel, Adresse von Kunden auswählen"
obj.ShowTable()
%>
</BODY>
</HTML>