asp使用activex组件实例一

test.asp[code]

1<html><head>
2<title>activex组件应用例子一</title></head>   
3  

'---------------------------------------------------------
'activex组件应用例子一
'读取sql server 7 pubs数据库中authors表并分页显示
'asp文件中负责调用并前台数据检验,这里主要指page参数
'该例子完全使用activex组件来完成功能,速度快,保密性好,但页面定制能力差
'jjx by 2000/4/15
'----------------------------------------------------------------

dim blnErrorif not isempty(request("page")) then

if not isnumeric(request("page")) then

response.write "参数错误!"

blnError=true

end ifend ifif not blnError then

dim objLoop

Set objLoop=Server.CreateObject("Performance.Loop")

objLoop.List()

Set objLoop=Nothingend if

1  
2</html>

[/code]vb loop class file创建一个performance activex dll项目,引用microsoft active
server pages library和Microsoft ActiveX Databae Object。

填加一个class,命名为loop[code]Option Explicit

Dim MyScriptingContext As ScriptingContextDim MyRequest As RequestDim 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 "

 1<table border="1">"   
 2  
 3If Not (rs.EOF And rs.BOF) Then   
 4  
 5rs.PageSize = 10   
 6  
 7rs.AbsolutePage = intPage   
 8  
 9intPageCount = rs.PageCount   
10  
11If intPage &gt; intPageCount Then   
12  
13intPage = intPageCount   
14  
15End If   
16  
17  
18  
19  
20  
21If intPageCount &gt; 1 Then   
22  
23.Write "<tr><td colspan=" &amp; intFieldCount &amp; ">"   
24  
25For i = 1 To intPageCount   
26  
27If intPage = i Then   
28  
29.Write "[" &amp; i &amp; "] "   
30  
31Else   
32  
33.Write "<a ?page=" &amp; i &amp; " href=" &amp; strScriptName &amp; ">[" &amp; i &amp; "]</a> "   
34  
35End If   
36  
37Next   
38  
39.Write "</td></tr>"   
40  
41  
42  
43  
44  
45End If   
46  
47End If   
48  
49  
50  
51.Write "<tr>"   
52  
53For i = 0 To intFieldCount - 1   
54  
55.Write "<th>" &amp; rs(i).Name &amp; "</th>"   
56  
57Next   
58  
59.Write "</tr>"   
60  
61  
62  
63For i = 1 To intPageSize   
64  
65If rs.EOF Then   
66  
67Exit For   
68  
69End If   
70  
71.Write "<tr>"   
72  
73For j = 0 To intFieldCount - 1   
74  
75.Write "<td>" &amp; rs(j).Value &amp; "</td>"   
76  
77Next   
78  
79  
80  
81.Write "</tr>"   
82  
83rs.MoveNext   
84  
85Next   
86  
87.Write "</table>

"

End With

rs.Close

Set rs = Nothing

con.Close

Set con = Nothing

End Function

[/code]

Published At
Categories with Web编程
Tagged with
comments powered by Disqus