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

ASP
对连串英文自动换行的解决方法 IE5.5
怎样写你自己的EMAIL组件(原理)
ASP中有关timeout超时的体会
用ASP实现从SQL Server导出数据到Access
ASP向NT域中加一个用户
ASP乱码的解决方法
关于 aspsmartupload 注册问题
利用XML不离开页面刷新数据
IIS 处理 SEARCH 请求漏洞
不用组件实现上载功能(1)
不用组件实现上载功能(2)
在网页中实现OICQ里的头像选择的下拉框
仅用xsl和asp实现分页功能
如何使用context()方法将数据置入表格(XML)
利用ASP从远程服务器上接收XML数据
将数据库里面的内容生成EXCEL
怎样在ASP里面创建统计图表
加密你的Access数据库
利用global.asp定时执行ASP
加密QueryString数据

ASP 类 Class入门 推荐


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 99 ::
收藏到网摘: 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通过)