asp使用activex组件实例一

王朝asp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

test.asp[code]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html><head>

<title>activex组件应用例子一</title></head>

<%

'---------------------------------------------------------

'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%>

</body></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 "<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

End If

If intPageCount > 1 Then

.Write "<tr><td colspan=" & intFieldCount & ">"

For i = 1 To intPageCount

If intPage = i Then

.Write "[" & i & "] "

Else

.Write "<a href=" & strScriptName & "?page=" & i & ">[" & i & "]</a> "

End If

Next

.Write "</td></tr>"

End If

End If

.Write "<tr>"

For i = 0 To intFieldCount - 1

.Write "<th>" & rs(i).Name & "</th>"

Next

.Write "</tr>"

For i = 1 To intPageSize

If rs.EOF Then

Exit For

End If

.Write "<tr>"

For j = 0 To intFieldCount - 1

.Write "<td>" & rs(j).Value & "</td>"

Next

.Write "</tr>"

rs.MoveNext

Next

.Write "</table>"

End With

rs.Close

Set rs = Nothing

con.Close

Set con = Nothing

End Function

[/code]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航