|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。asp+ 使用和在一个独自模块中创立一个广泛性的毗连不异的构思,我们创立了一个Pagelet。Pagelet使开辟职员能够创立伪控件,伪控件和工具一样能够用来显现属性,办法和事务。我们的计划是:创立一个显现ConnectToDB办法的Pagelet,该办法前往一个ADOConnection工具(与ADO的语法稍有分歧)。我们用上面的代码创立Pagelet,将它存为connect.aspc(扩大名标明它是一个Pagelet)
<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.ADO"%>
<scriptlanguage="VB"runat="server">
PublicFunctionConnectToDB()AsADOConnection
ConnectToDB=NewADOConnection("DSN=evilleDSN")
EndFunction
</script>
你会注重到我们导进了两个Namespaces,即System.Data和System.Data.ADO。为了利用ADO+ManagedProvider这些Namespaces是必需的。很多人就此问了我很多成绩,由于今朝多半示例都利用基于MicrosoftSQLServer2000数据库的SQLManagedProvider。关于非SQLServer数据库,ASP+可使用ADO+ManagedProvider,这和今朝你在程序中利用ADO的体例大抵不异。导进Namespaces和在VB程序中创立参考(Reference)有殊途同归之妙。
Pagelet的使用使我能够保护以后的站点企图,一旦在模块中创立了毗连,我们便可在任何必要的中央重用模块。这意味着我们必要用Pagelet的一个实例来替换Include文件指令,然后当我们必要数据库毗连时挪用ConnectToDB办法。在必要利用Pagelet的页面中,我们起首必需利用ASP+指令将之与该页面注册(register)。在指令中,我们界说TagPrefix,TagName,和Source(src)。与ASP中的include文件相似,在我们安排Pagelet的中央要用到TagPrefix和TagName。
<%@RegisterTagPrefix="seven"TagName="Connect"
src="_includes/connect.aspc"%>
安排我们刚注册的Pagelet的办法与ASP+服务器控件相似:
<[TagPrefix]:[TagName]id=myPageletrunat=server/>
好比:
<seven:Connectid=Connectrunat=server/>
在ADO+中,纪录集(Recordset)的观点被DataSets和DataViews的组合所代替。一会儿我们将会商这两个观点。起首让我们看看在default.asp页面迁徙至default.aspx(ASP+页面的后缀)儿女码都有了哪些改动。先看default.asp:
<!--#includefile="_includes/connect.inc"-->
<%
DimcnEville_DB,rsUpcoming,strSqlUpcoming
SetrsUpcoming=Server.CreateObject("ADODB.Recordset")
strSqlUpcoming="SELECTTOP2"&_
"Classes.Title,Sessions.Session_ID,"&_
"Sessions.Special,Classes.Description"&_
"FROMClassesINNERJOINSessionsON"&_
"Classes.Class_ID=Sessions.ClassID"&_
"WHERE(((Sessions.Date)>Date()))"&_
"ORDERBYSessions.Date"
rsUpcoming.OpenstrSqlUpcoming,cnEville_DB
%>
在ASP+中成了default.aspx:
<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.ADO"%>
<%@RegisterTagPrefix="seven"TagName="Connect"&_
src="_includes/connect.aspc"%>
<scriptlanguage="vb"runat=server>
SubPage_Load(SourceAsObject,EAsEventArgs)
DimdscUpcomingAsADODataSetCommand
DimdsUpcomingAsNewDataSet
DimstrSQLAsString
strSQL="SELECTTOP2Classes.Title,"&_
"Sessions.Session_ID,Classes.Description"&_
"FROMClassesINNERJOINSessionsON"&_
"Classes.Class_ID=Sessions.ClassID"&_
"WHERE(((Sessions.Date)>Date()))"&_
"ORDERBYSessions.Date"
dscUpcoming=NewADODataSetCommand(strSQL,Connect.ConnectToDB())
dscUpcoming.FillDataSet(dsUpcoming,"Upcoming")
EndSub
</script>
数据会见的中心,ANSI-SQL语句在转换后没有甚么</p>[1][2]下一页
asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。 |
|