ASP 类 Class入门 推荐 Class 声明 声明一个类的名字,就是定义一些变量,属性,方法来组成一个类。我们常常看到别的程序语言中中都有类的说明,PHP,VB,C++,这个在VBScript中的类的说明,我是第一次听到,我们的日常工作就是网站开发,在这个里面多多少少搞出点经验,像模像样也能自诩为"内行",所以我就来分享一下我所知道的这个新的东东。我们来看看下面的这个代码吧!(window2000+IIS5.0通过测试) 类的定义1 yyh.asp<%''声明一个名为yh的类 Class yh Private yh ''类的初始化Private Sub Class_Initializeyh="天涯风云"End Sub ''定义一个函数Public Function yyh(a,b)yyh=a+bEnd Function ''定义一个方法Public sub yyh1(stat)Response.write statEnd Sub End Class Set myyyh=New yh ''定义一个名为yh的myyyh对象实例response.write myyyh.yyh(6,6)&"
"mystring="这是天涯风云方法"myyyh.yyh1 mystring %> 这是很简单的一个程序,我们在其中声明了一个名为yh的类,建立了一个yyh函数,一个yyh1方法,这个程序很简单相信大家能看懂,它的显示如下: 12这是天涯风云的方法 可以把我们常用到的程序写成一个类,到时候就用<!--#include file="yyh.asp"-->来包含进来就行了,这给我们开发程序又提供了新的空间. 类的定义2 这里采用类的属性定义方法。 <%''声明一个名为myclass的类 Class myclass Private a1,b1 ''类的初始化Private Sub Class_Initializea1=0b1=0End Sub ''定义一个属性Public Property Let width(ax)a1=axEnd Property ''定义另个一个属性Public Property Let height(bx)b1=bxEnd Property ''计算两个属性值的结果,得到一个新的属性Public Property Get areaarea=b1*a1End Property End Class Set tianya=New myclass ''定义一个名为tianya的对象myclass的实例tianya.width=50tianya.height=60response.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 userclassPrivate id,name,content Private Sub Class_Initialize() '类的初始化,连接数据库username=""usercontent=""end sub '以下设置类的几个属性Public Property Let userid(vNewvalue)id=Cint(vNewvalue)End Property Public Property Get useriduserid=idEnd Property Public Property Let username(vNewvalue)name=vNewvalueEnd Property Public Property Get usernameusername=nameEnd Property Public Property Let usercontent(vNewvalue)content=vNewvalueEnd Property Public Property Get usercontentusercontent=contentEnd Property '添加记录Public sub adduser()if username <> "" and usercontent <> "" thenSet rs = Server.Createobject("adodb.Recordset")SQL="Select * From user"rs.Open SQL,Conn,1,3rs.AddNewrs("name") = usernamers("Content") = usercontentrs.Updaters.CloseSet rs = NothingResponse.write "添加记录成功!"end ifend sub '显示一条记录Public sub showuser()set rs=server.createobject("adodb.recordset")sql="select * from user where id=" & useridrs.open sql,conn,1,3username=rs("name")usercontent=rs("content")rs.closeend sub '编辑记录Public sub edit()set rs=server.createobject("adodb.recordset")sql="select * from user where id=" & useridrs.open sql,conn,1,1username=rs("name")usercontent=rs("content")rs.closeend sub '保存编辑Public sub saveedit()set rs=server.createobject("adodb.recordset")sql="select * from user where id =" & useridrs.open sql,conn,1,3rs("name")=usernamers("content")=usercontentrs.updaters.closeResponse.write "更新记录成功!"end sub '删除记录public sub deluser()set rs=server.createobject("adodb.recordset")sql="delete from user where id="& useridrs.open sql,conn,1,1set rs=nothingResponse.write "删除记录成功!"end sub '挑战分页显示~~!!public sub list(n)dim page page=request("page") PageSize = ndim 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 "没有记录!" else count=0do while not (rs.eof or rs.bof) and count ".write rs("id")&" ".write "".write rs("name").write " ".write "内容: "&rs("content").write ""end withrs.movenextcount=count+1loopend ifwith response.write "
".write rs.pagecount.write "页"for i=1 to rs.pagecount.write " ".write i.write ""nextrs.closeset rs=nothing.write "
"end withend sub '类退出后,作清理工作Private Sub class_terminate()If IsObject(Conn) Then Conn.Close:Set Conn = NothingEnd Sub End Class%>(以上程序在winxpsp2+netbox通过)