|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。active|activextest.asp
以下内容为程序代码
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<html>
<head>
<title>activex组件使用例子一</title>
</head>
<body>
<%
---------------------------------------------------------
activex组件使用例子一
读取sqlserver7pubs数据库中authors表并分页显现
asp文件中卖力挪用并前台数据查验,这里次要指page参数
该例子完整利用activex组件来完乐成能,速率快,保密性好,但页面定制才能差
jjxby2000/4/15
----------------------------------------------------------------
dimblnError
ifnotisempty(request("page"))then
ifnotisnumeric(request("page"))then
response.write"参数毛病!"
blnError=true
endif
endif
ifnotblnErrorthen
dimobjLoop
SetobjLoop=Server.CreateObject("Performance.Loop")
objLoop.List()
SetobjLoop=Nothing
endif
%>
</body>
</html>
vbloopclassfile
创立一个performanceactivexdll项目,援用microsoftactiveserverpageslibrary和MicrosoftActiveXDatabaeObject。
填加一个class,定名为loop
以下内容为程序代码
OptionExplicit
DimMyScriptingContextAsScriptingContext
DimMyRequestAsRequest
DimMyResponseAsResponse
SubOnEndPage()
SetMyResponse=Nothing
SetMyRequest=Nothing
SetMyScriptingContext=Nothing
EndSub
SubOnStartPage(PassedScriptingContextAsScriptingContext)
SetMyScriptingContext=PassedScriptingContext
SetMyRequest=MyScriptingContext.Request
SetMyResponse=MyScriptingContext.Response
EndSub
FunctionList()
DimconAsNewADODB.Connection
DimrsAsNewADODB.Recordset
DimiAsInteger
DimjAsInteger
DimintPageAsInteger
DimintPageSizeAsInteger
DimintPageCountAsInteger
DimstrScriptNameAsString
DimintPosAsInteger
DimintFieldCountAsInteger
strScriptName=MyRequest.ServerVariables("Script_Name")
intPos=InStrRev(strScriptName,"/")
IfintPos0Then
strScriptName=Mid(strScriptName,intPos+1)
EndIf
IfIsEmpty(MyRequest("page"))Then
intPage=1
Else
intPage=CInt(MyRequest("page"))
EndIf
intPageSize=10
con.Open"Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;InitialCatalog=pubs;DataSource=(local)"
rs.Open"select*fromauthors",con,adOpenStatic
intFieldCount=rs.Fields.Count
WithMyResponse
.Write"<tableborder=1>"
IfNot(rs.EOFAndrs.BOF)Then
rs.PageSize=10
rs.AbsolutePage=intPage
intPageCount=rs.PageCount
IfintPage>intPageCountThen
intPage=intPageCount
&</p>大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧 |
|