数据读取中...
 您当前位置:惠州维修 -> 网络-> asp技术交流 文章搜索:  
asp使用activex组件实例一
作者:转载 来源:惠州维修
日期: 2006-11-20
放大字体显示 缩小字体显示 打印文章 推荐给朋友

作者: jjx

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>
[/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 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
      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

文章页数:[1] 
帮助你我他: 1.我有问题请教 2.我要投稿>>>
更多相关资料搜索:
热点文章
最新文章
相关文章
版权申明:除部分特别声明不要转载,或者授权本站独家播发的文章外,大家可以自由转载本站的原创文章,但原作者和来自本站的链接必须保留(非本站原创的,按照原来自一节,自行链接)。文章版权归本站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去本站水印。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论  打印  刷新  推荐给朋友  返回顶部  关闭

网上大名: