IT学习者 | 文章大全 | 技术文档 | 桌面壁纸 | 实用查询 | 网络电台 | 成语 | 歇后语 | 网址 | 下载 | 周公解梦 | 生日密码 | 电视剧365 | Flash
 您现在的位置: IT学习者 >> 文章大全 >> 网络编程 >> ASP技术

如何建立三层体系结构的ASP应用程序(2)

【 来源:网络  更新时间:2005-5-6 | 字体:

至此,一个完整的三层结构的应用程序已经完成了,让我们看以下,如果把"合格"的定义改为:只有成绩进入前100名才算合格,程序需要做那些修改。事实上,如果你的数据库系统是SQL Server,你只需把SQL语句改为:

sql="select top 100 EMPLID from Employee order by Score desc" 就已经可以了,即使为了跨数据库系统的兼容性,我们也只需要对GetQualifiedList做如下修改:
  sql="select EMPLID from Employee order by Score desc"
  with rs
   .open sql,conn,1,3
   if .eof and .bof then
     exit sub
   else
     i=1
     do while (not .eof) and (i<=100)
       dim oEmployee as new Employee
       oEmployee.Create trim(.Fields("EMPLID"))
       colQualifiedList.Add oEmployee
       set oEmployee=nothing
       i=i+1
     loop
   end if
   .close
  end with
  ...
然后把DLL重新编译,注册就可以了,ASP程序完全不必修改。
四、一些说明和注意事项
1、 由于这个例子比较简单,在Employee类中可以没有Create方法,而在Employees类中将员工的所有信息(工号,姓名,性别,成绩)都读出来并将其赋给Employee对象对应的属性。但在实际应用中,当Employee对象的属性增多,或表的数量增多,表之间关系变复杂时,还是本文所示的方法更有效,代码重用的机会更大。
2、当DLL被修改后,在MTS中只能将其删除后重新注册,因为每次重新编译后在注册表中对象的ID值都将重新生成。
3、从ASP中调用带参数的类方法和函数时,所有的变量参数一定要用相应的类型转换函数转换后再传入,否则会引起类型不匹配错误,因为VBScript中只有Variant类型,它不能自动转换成其它类型。例如,有如下的函数定义:
  Public Function Fun1(p1 as string,p2 as integer) as integer
  End Function
  在ASP程序中应如下调用:
  <%
   p1=obj.property1 ' Property1 is a string property
   p2=obj.property2 'Property2 is an integer property
   a=obj.Fun1(cstr(p1),cint(p2))
   a=obj.Fun1("aaa",10) ' constant parameter need not be changed
  %>
  而下面的两种写法是错误的:
  <%
   p1=obj.property1 ' Property1 is a string property
   p2=obj.property2 'Property2 is an integer property
   a=obj.Fun1(p1,p2) ' incorrect,p1 and p2 are variant variables
   p1=cstr(p1)
   p2=cint(p2)
   a=obj.Fun1(p1,p2) ' still incorrect
  %>
这里第二种写法仍然是错误的,即使经过了类型转换,p1和p2仍然是Variant变量。在VBScript中,数据类型和类型转换函数只在表达式运算中起作用,变量只有Variant一种类型。

结束语
以上对多层结构的理论和实践进行了一番探讨,希望能对您的开发有所帮助。这里还有一个问题,即类和类的成员该如何设计。这既涉及面向对象编程的理论,也需要一定的实践经验。请参考相关的OOP理论书籍并在实践中不断总结,相信您一定能设计出自己的完美的多层结构的应用程序。

相 关 文 章
相 关 软 件

音乐
画心 放生 天亮了 牡丹江 那滋味 擦肩而过 放手去爱 北京欢迎你 依然在一起 吻得太逼真 牵手的右前方 坐上火车去拉萨 如果爱能早些说出来
心碎 稻香 从新爱 别碰我 魔杰座 红楼梦中 为你而活 一定要爱你 等爱的玫瑰 失落非主流 越单纯越幸福 最后一次的温柔 孤独的时候可以抱你
光荣 火花 下雨天 小酒窝 樱花草 为你写诗 无可取代 无情的温柔 寂寞才说爱 忘不掉的伤 爱上你是个错 陪你一起看草原 地球人都知道我爱你
假如 相思 女儿红 有缘人 舍不得 我的答铃 如何是好 外滩十八号 我们的纪念 摇滚怎么了 和寂寞说分手 爱上你是我的错 爱情里没有谁对谁错
加入收藏留言建议自助友情链接普通友情链接站长的Blog
版权所有   COPYRIGHT 2002-2008 ★IT学习者★ ALL RIGHTS RESERVED.