程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> asp使用activex組件實例一

asp使用activex組件實例一

編輯:ASP技巧

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved