网络编程
位置:首页>> 网络编程>> Asp编程>> 建立三层结构的ASP应用程序(2)

建立三层结构的ASP应用程序(2)

作者:佚名  发布时间:2009-01-21 19:41:00 

标签:结构,asp,程序,微软

三、如何开发三层结构的ASP应用程序

ASP具有良好的扩充性,我们访问数据库时,采用的时ADO对象,访问文件时,采用的是文件系统对象(FSO),其实这时程序已经是三层结构的应用程序了,只不过由于是利用内置的对象而为意识到罢了。这些对象都遵循COM/ActiveX接口,因此我们自己开发的对象也要遵循这个接口。下面,我们就以上文提到的"合格"标准为例,演示如何创建自己的三层结构的ASP应用。

1。在数据库系统中建立如下数据库表:

Employee: EMPLID char (5) not null,
   Name  char (10) not null,
   Gender char (1) not null,
   Score   int not null


此表存储员工信息和考试成绩,为简单起见,这里只包含工号,姓名和性别三项,并且只有一门考试,EMPLID为主键。

2。建立动态链接库

启动VB(这里以VB为例,你可以用你喜欢的任何支持ActiveX接口的开发工具开发),新建一工程,工程类型为ActiveX DLL。在工程中新建一个类,取名为Employee。你可以Class Builder可视化的向类中填加属性和方法,也可以直接手工编辑。首先填加EMPLID属性如下:





 Private msEMPLID as string 
  Property Let EMPLID(sEMPLID as string) 
   msEMPLID=sEMPLID 
  End Property 
  Property Get EMPLID() as string 
   EMPLID=msEMPLID 
  End Property 

一般地讲,每一个属性都应该有Property Let和Property Get两个方法,它们分别当向属性赋值和读取属性值时被调用。如果某个属性只被赋值而从不被读取(这种情况多发生在对应数据库表的主键的属性上),则Property Get方法可以省略。Property Let方法不能省略。你可以仿照上面的程序再建立Name,Gender和Score三个属性。然后创建如下方法:

  Public Sub Create(EMPLID as string) 
  dim conn as new Connection 
  dim rs as new Recordset 
  dim sql as string 
  "Suppose that you create a DSN in the control panel, the connectionstring property 
  "can also be dsn-less string 
  conn.ConnectionString="dsn=dsnname;uid=username;password=pwd" 
  conn.open 
  sql="select * from Employee where EMPLID="" & EMPLID & """ 
  with rs 
   .open sql,conn,1,3 
   if .eof and .bof then 
     exit sub 
   else 
     msEMPLID=trim(.Fields("EMPLID")) 
     msName=trim(.Fields("Name")) 
     msGender=trim(.Fields("Gender")) 
     msScore=.Fields("Score") 
   end if 
   .close 
  end with 
  set rs=nothing 
  conn.close 
  set conn=nothing 
  End Sub

 这里根据EMPLID创建Employee对象,注意数据库中的值是赋给三个私有变量,而不是直接赋值给属性,如果你单步调试就会发现,给msEMPLID赋值会调用Property Let EMPLID,也就是给属性赋值。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com