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)&"
"
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 "没有记录!" 
else 
count=0
do while not (rs.eof or rs.bof) and count <rs.pagesize with="" response="" .write="" " "
.write rs("id")&" "
.write ""
.write rs("name")
.write " "
.write "内容: "&rs("content")
.write ""
end with
rs.movenext
count=count+1
loop
end if
with response
.write "
" .write rs.pagecount .write "页" for i=1 to rs.pagecount .write " " .write i .write "" next rs.close set rs=nothing .write "
" end with end sub '类退出后,作清理工作 private sub class_terminate() if isobject(conn) then conn.close:set conn = nothing end sub end class %>

(以上程序在winxpsp2+netbox通过)

相关文章