电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > ASP教程 > 正文
建立三层结构的ASP应用程序
建立三层结构的ASP应用程序
2005-12-30 19:21:22  文/45IT收集   出处:电脑软硬件应用网   

  ...... 
  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理论书籍并在实践中不断总结,相信您一定能设计出自己的完美的多层结构的应用程序。

上一页  [1] [2] 

  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    三种中文分词算法优劣比较
    ASP教程:删除记录和链接数据库程序解…
    ASP生成html或者txt文件实例
    分享常用7款天气预报代码iframe嵌入…
    ASP错误信息解决:IIS启用父路径的设…
    禁止网页缓存的方法及代码
    推荐如何抓取显示防盗链图片的方法
    为什么浏览不了dreamweaver中ASP文件…
    asp入门教程之讲解ASP脚本执行的顺序
    asp将access数据导出为excel电子表的…
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号