ASP 类 Class入门 推荐
ASP 类 Class入门 推荐
发布时间:2016-12-29 来源:查字典编辑
摘要:Class声明声明一个类的名字,就是定义一些变量,属性,方法来组成一个类。我们常常看到别的程序语言中中都有类的说明,PHP,VB,C++,这...

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'>没有记录!</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通过)

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新ASP教程学习
热门ASP教程学习
编程开发子分类