Class 聲明
聲明一個(gè)類的名字,就是定義一些變量,屬性,方法來組成一個(gè)類。我們常??吹絼e的程序語(yǔ)言中中都有類的說明,PHP,VB,C++,這個(gè)在VBScript中的類的說明,我是第一次聽到,我們的日常工作就是網(wǎng)站開發(fā),在這個(gè)里面多多少少搞出點(diǎn)經(jīng)驗(yàn),像模像樣也能自詡為"內(nèi)行",所以我就來分享一下我所知道的這個(gè)新的東東。我們來看看下面的這個(gè)代碼吧!(window2000+IIS5.0通過測(cè)試)
類的定義1
yyh.asp
%
''聲明一個(gè)名為yh的類
Class yh
Private yh
''類的初始化
Private Sub Class_Initialize
yh="天涯風(fēng)云"
End Sub
''定義一個(gè)函數(shù)
Public Function yyh(a,b)
yyh=a+b
End Function
''定義一個(gè)方法
Public sub yyh1(stat)
Response.write stat
End Sub
End Class
Set myyyh=New yh ''定義一個(gè)名為yh的myyyh對(duì)象實(shí)例
response.write myyyh.yyh(6,6)"br>"
mystring="這是天涯風(fēng)云方法"
myyyh.yyh1 mystring
%>
這是很簡(jiǎn)單的一個(gè)程序,我們?cè)谄渲新暶髁艘粋€(gè)名為yh的類,建立了一個(gè)yyh函數(shù),一個(gè)yyh1方法,這個(gè)程序很簡(jiǎn)單相信大家能看懂,它的顯示如下:
12
這是天涯風(fēng)云的方法
可以把我們常用到的程序?qū)懗梢粋€(gè)類,到時(shí)候就用!--#include file="yyh.asp"-->來包含進(jìn)來就行了,這給我們開發(fā)程序又提供了新的空間.
類的定義2
這里采用類的屬性定義方法。
%
''聲明一個(gè)名為myclass的類
Class myclass
Private a1,b1
''類的初始化
Private Sub Class_Initialize
a1=0
b1=0
End Sub
''定義一個(gè)屬性
Public Property Let width(ax)
a1=ax
End Property
''定義另個(gè)一個(gè)屬性
Public Property Let height(bx)
b1=bx
End Property
''計(jì)算兩個(gè)屬性值的結(jié)果,得到一個(gè)新的屬性
Public Property Get area
area=b1*a1
End Property
End Class
Set tianya=New myclass ''定義一個(gè)名為tianya的對(duì)象myclass的實(shí)例
tianya.width=50
tianya.height=60
response.write tianya.area
%>
一個(gè)完全數(shù)據(jù)庫(kù)管理的asp類模型
'天涯風(fēng)云原創(chuàng)
先建一個(gè)數(shù)據(jù)庫(kù)user,有一個(gè)表名為user,
表里有三個(gè)字段,分別為id,name,content
先寫數(shù)據(jù)庫(kù)連接文件:
'conn.asp
%
StrSQL="DBQ="+server.mappath("user.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Set conn=server.createobject("ADODB.CONNECTION")
Conn.open StrSQL
%>
構(gòu)造userclass類:
,mycls.asp
%
Class userclass
Private id,name,content
Private Sub Class_Initialize() '類的初始化,連接數(shù)據(jù)庫(kù)
username=""
usercontent=""
end sub
'以下設(shè)置類的幾個(gè)屬性
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
'挑戰(zhàn)分頁(yè)顯示~~!!
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 countrs.PageSize
with response
.write "table>tr>td> "
.write rs("id")" "
.write "a href=show.asp?id="rs("id")">"
.write rs("name")
.write "/a> "
.write "內(nèi)容: "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>頁(yè)"
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通過)
您可能感興趣的文章:- ASP中類Class相關(guān)內(nèi)容的整理資料
- ASP 類 Class入門
- 一個(gè)ASP創(chuàng)建動(dòng)態(tài)對(duì)象的工廠類(類似PHP的stdClass)
- ASPJPEG綜合操作的CLASS類
- CJJ專用ASP類庫(kù)中的某個(gè)class