当前位置: 首页 > 学习 > 电脑学习 > 网站开发 > ASP > ASP技巧 > 正文

asp使用activex组件实例一

http://www.zk168.com.cn  招考学习网 2006-4-30 12:32:09
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
test.asp
[code]
<!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


[/code]
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
最新入库:
 
·10. 结束电话
·9 电话故障
·8. 分机、占线
·7. 打错电话
·6. 长途电话
·5. 转告消息
·4. 留 言
·3. 等候与回电
·2. 没找到人
·1. 打电话 接电话
相关内容:
 
·Checking Out 结帐
·Wake-up Call Service 唤醒服务
·At the Barbers 在理发店与美容厅
·Maintenance 维修服务
·Settling complaints 处理投诉
·Laundry Service 洗衣服务
·At the Information Desk问讯处 2
·At the Information Desk问讯处 1
·The Bellman 应接服务员
·At the Reception Desk在接待处 2
网友点评:
 
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
友情提醒:
 1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网
 友来信指正!
 2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
 3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
 4.如需转载请注明出处及作者,谢谢合作!
 5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
 6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
 7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL:  XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接!
你问我答 更多>>