active|activex
test.asp
以下內容為程式碼
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>activex組件應用例子一</title>
</head>
<body>
<%
'---------------------------------------------------------
'activex組件應用例子一
'讀取sql server 7 pubs資料庫中authors表並分頁顯示
'asp檔案中負責調用並前台資料檢驗,這裡主要指page參數
'該例子完全使用activex組件來完成功能,速度快,保密性好,但頁面定製能力差
'jjx by 2000/4/15
'----------------------------------------------------------------
dim blnError
if not isempty(request("page")) then
if not isnumeric(request("page")) then
response.write "參數錯誤!"
blnError=true
end if
end if
if not blnError then
dim objLoop
Set objLoop=Server.CreateObject("Performance.Loop")
objLoop.List()
Set objLoop=Nothing
end if
%>
</body>
</html>
vb loop class file
建立一個performance activex dll項目,引用microsoft active server pages library和Microsoft ActiveX Databae Object。
填加一個class,命名為loop
以下內容為程式碼
Option Explicit
Dim MyScriptingContext As ScriptingContext
Dim MyRequest As Request
Dim MyResponse As Response
Sub OnEndPage()
Set MyResponse = Nothing
Set MyRequest = Nothing
Set MyScriptingContext = Nothing
End Sub
Sub OnStartPage(PassedScriptingContext As ScriptingContext)
Set MyScriptingContext = PassedScriptingContext
Set MyRequest = MyScriptingContext.Request
Set MyResponse = MyScriptingContext.Response
End Sub
Function List()
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i As Integer
Dim j As Integer
Dim intPage As Integer
Dim intPageSize As Integer
Dim intPageCount As Integer
Dim strScriptName As String
Dim intPos As Integer
Dim intFieldCount As Integer
strScriptName = MyRequest.ServerVariables("Script_Name")
intPos = InStrRev(strScriptName, "/")
If intPos <> 0 Then
strScriptName = Mid(strScriptName, intPos + 1)
End If
If IsEmpty(MyRequest("page")) Then
intPage = 1
Else
intPage = CInt(MyRequest("page"))
End If
intPageSize = 10
con.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=(local)"
rs.Open "select * from authors", con, adOpenStatic
intFieldCount = rs.Fields.Count
With MyResponse
.Write "<table border=1>"
If Not (rs.EOF And rs.BOF) Then
rs.PageSize = 10
rs.AbsolutePage = intPage
intPageCount = rs.PageCount
If intPage > intPageCount Then
intPage = intPageCount
&