ASP编程:从ASP迁徙至ASP+--最后的思索(二)
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+服务器控件相似:
<: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>下一页
asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 掌握asp的特性而且一定要知道为什么。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
页:
[1]