WEB开发网
开发学院WEB开发ASP asp使用activex组件实例一 阅读

asp使用activex组件实例一

 2000-10-21 10:12:23 来源:WEB开发网   
核心提示:test.asp 以下内容为程序代码<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head> <title>activex组件应用例子一</title&
test.asp
以下内容为程序代码 以下内容为程序代码
<!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>
vb loop class file创建一个performance activex dll项目,引用microsoft active
server pages library和Microsoft ActiveX Databae Object。

  填加一个class,命名为loop
以下内容为程序代码 以下内容为程序代码
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

  
 

Tags:asp 使用 activex

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接