当前位置:编程学习 > asp >>

asp使用activex组件实例一

答案:    
  
    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[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=>[" & 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]
  
    
  

上一个:ASP中检查没有数据提交的页面Ⅰ
下一个:解析正则表达式(原创)

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,