ASP 類 Class入門 推薦

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.