选择显示字体大小

asp教程 - 浅谈如何建立三层体系结构的asp应用程序(2) -

至此,一个完整的三层结构的应用程序已经完成了,让我们看以下,如果把"合格"的定义改为:只有成绩进入前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(&quot;emplid&quot;))
       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(&quot;aaa&quot;,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理论书籍并在实践中不断总结,相信您一定能设计出自己的完美的多层结构的应用程序。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons