ASP 类 Class入门 推荐

2018-09-06 11:26

阅读:555

  Class 声明

  声明一个类的名字,就是定义一些变量,属性,方法来组成一个类。我们常常看到别的程序语言中中都有类的说明,PHP,VB,C++,这个在VBScript中的类的说明,我是第一次听到,我们的日常工作就是网站开发,在这个里面多多少少搞出点经验,像模像样也能自诩为内行,所以我就来分享一下我所知道的这个新的东东。我们来看看下面的这个代码吧!(window2000+IIS5.0通过测试)

  类的定义1

  yyh.asp
<%
声明一个名为yh的类
Class yh

  Private yh

  类的初始化
Private Sub Class_Initialize
yh=天涯风云
End Sub

  定义一个函数
Public Function yyh(a,b)
yyh=a+b
End Function

  定义一个方法
Public sub yyh1(stat)
Response.write stat
End Sub

  End Class

  Set myyyh=New yh 定义一个名为yh的myyyh对象实例
response.write myyyh.yyh(6,6)&<br>
mystring=这是天涯风云方法
myyyh.yyh1 mystring

  %>

  这是很简单的一个程序,我们在其中声明了一个名为yh的类,建立了一个yyh函数,一个yyh1方法,这个程序很简单相信大家能看懂,它的显示如下:

  12
这是天涯风云的方法

  可以把我们常用到的程序写成一个类,到时候就用<!--#include file=yyh.asp-->来包含进来就行了,这给我们开发程序又提供了新的空间.

  
类的定义2

  这里采用类的属性定义方法。

  <%
声明一个名为myclass的类
Class myclass

  Private a1,b1

  类的初始化
Private Sub Class_Initialize
a1=0
b1=0
End Sub

  定义一个属性
Public Property Let width(ax)
a1=ax
End Property

  定义另个一个属性
Public Property Let height(bx)
b1=bx
End Property

  计算两个属性值的结果,得到一个新的属性
Public Property Get area
area=b1*a1
End Property

  End Class

  Set tianya=New myclass 定义一个名为tianya的对象myclass的实例
tianya.width=50
tianya.height=60
response.write tianya.area
%>

  
一个完全数据库管理的asp类模型

  天涯风云原创

  先建一个数据库user,有一个表名为user,
表里有三个字段,分别为id,name,content

  先写数据库连接文件:
conn.asp

  <%
StrSQL=DBQ=+server.mappath(user.mdb)+;DRIVER={Microsoft Access Driver (*.mdb)};
Conn.open StrSQL
%>

  构造userclass类:
,mycls.asp
<%
Class userclass
Private id,name,content

  Private Sub Class_Initialize() 类的初始化,连接数据库
username=
usercontent=
end sub

  以下设置类的几个属性
Public Property Let userid(vNewvalue)
id=Cint(vNewvalue)
End Property

  Public Property Get userid
userid=id
End Property

  
Public Property Let username(vNewvalue)
name=vNewvalue
End Property

  Public Property Get username
username=name
End Property

  Public Property Let usercontent(vNewvalue)
content=vNewvalue
End Property

  Public Property Get usercontent
usercontent=content
End Property

  添加记录
Public sub adduser()
if username <> and usercontent <> then
Set rs = Server.Createobject(adodb.Recordset)
SQL=Select * From user
rs.Open SQL,Conn,1,3
rs.AddNew
rs(name) = username
rs(Content) = usercontent
rs.Update
rs.Close
Set rs = Nothing
Response.write 添加记录成功!
end if
end sub

  
显示一条记录
Public sub showuser()
set rs=server.createobject(adodb.recordset)
sql=select * from user where id= & userid
rs.open sql,conn,1,3
username=rs(name)
usercontent=rs(content)
rs.close
end sub

  编辑记录
Public sub edit()
set rs=server.createobject(adodb.recordset)
sql=select * from user where id= & userid
rs.open sql,conn,1,1
username=rs(name)
usercontent=rs(content)
rs.close
end sub

  保存编辑
Public sub saveedit()
set rs=server.createobject(adodb.recordset)
sql=select * from user where id = & userid
rs.open sql,conn,1,3
rs(name)=username
rs(content)=usercontent
rs.update
rs.close
Response.write 更新记录成功!
end sub

  删除记录
public sub deluser()
set rs=server.createobject(adodb.recordset)
sql=delete from user where id=& userid
rs.open sql,conn,1,1
set rs=nothing
Response.write 删除记录成功!
end sub

  挑战分页显示~~!!
public sub list(n)
dim page
page=request(page)
PageSize = n
dim rs,strSQL,news
strSQL =SELECT * FROM user ORDER BY id DESC

  Set rs = Server.CreateObject(ADODB.Recordset)
rs.open strSQL,Conn,3,3
rs.PageSize = PageSize
totalfilm=rs.recordcount
pgnum=rs.Pagecount
if page= or clng(page)<1 then page=1
if clng(page) > pgnum then page=pgnum
if pgnum>0 then rs.AbsolutePage=page

  if rs.eof then
response.write <font color=#003366 class=3dfont>没有记录!</font>
else
count=0
do while not (rs.eof or rs.bof) and count<rs.PageSize
with response
.write <table><tr><td>
.write rs(id)&
.write <a href=show.asp?id=&rs(id)&>
.write rs(name)
.write </a>
.write 内容: &rs(content)
.write </td></tr></table>
end with
rs.movenext
count=count+1
loop
end if
with response
.write <table><tr><td> 共<b>
.write rs.pagecount
.write </b>页
for i=1 to rs.pagecount
.write <a href=list.asp?page=&i&>
.write i
.write </a>
next
rs.close
set rs=nothing
.write </td></tr></table>
end with
end sub

  
类退出后,作清理工作
Private Sub class_terminate()
If IsObject(Conn) Then Conn.Close:Set Conn = Nothing
End Sub
End Class
%>
(以上程序在winxpsp2+netbox通过)

  


评论


亲,登录后才可以留言!