当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP 类 Class入门 推荐

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

ASP 类 Class入门 推荐


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 87 ::
收藏到网摘: n/a

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)};"
Set conn=server.createobject("ADODB.CONNECTION")
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通过)