ASP类Class入门 推荐
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通过)