若天明 发表于 2015-1-16 23:49:14

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可以完成无比强大的功能。

简单生活 发表于 2015-1-20 12:05:19

在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。

第二个灵魂 发表于 2015-2-5 23:48:18

ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。

冷月葬花魂 发表于 2015-2-14 07:01:33

掌握asp的特性而且一定要知道为什么。

深爱那片海 发表于 2015-3-4 05:02:38

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

柔情似水 发表于 2015-3-11 17:17:40

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

愤怒的大鸟 发表于 2015-3-19 03:14:45

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

小魔女 发表于 2015-3-27 06:10:50

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
页: [1]
查看完整版本: ASP编程:从ASP迁徙至ASP+--最后的思索(二)