源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 260|回复: 21

[ASP编程] ASP 类 Class入门 推荐

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2006-8-25 00:00:00 | 显示全部楼层 |阅读模式

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通过)


 

回复

使用道具 举报

1

主题

2万

回帖

155

积分

注册会员

Rank: 2

积分
155
发表于 2022-8-24 16:44:15 | 显示全部楼层
儿飞飞微风DVD谁vdsvd
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

176

积分

注册会员

Rank: 2

积分
176
发表于 2022-10-26 00:37:27 | 显示全部楼层
笑纳了老板
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

347

积分

中级会员

Rank: 3Rank: 3

积分
347
发表于 2022-12-18 08:24:39 | 显示全部楼层
额风风风微风微风违法
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-3-8 05:01:56 | 显示全部楼层
额风风风微风微风违法
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

124

积分

注册会员

Rank: 2

积分
124
发表于 2023-6-24 00:15:35 | 显示全部楼层
这个源码还可以
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-8-9 13:33:20 | 显示全部楼层
66666666666666666666
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

473

积分

中级会员

Rank: 3Rank: 3

积分
473
发表于 2023-8-15 04:31:24 | 显示全部楼层
看看看咋么
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-9-7 15:11:44 | 显示全部楼层
给爸爸爸爸爸爸爸爸爸爸八佰伴八佰伴
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

59

积分

注册会员

Rank: 2

积分
59
发表于 2023-11-13 16:55:15 | 显示全部楼层
飞飞飞飞飞飞飞飞飞飞飞飞飞
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-10-23 04:39 , Processed in 0.074136 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表