Class 聲明
聲明一個類的名字,就是定義一些變量,屬性,方法來組成一個類。我們常??吹絼e的程序語言中中都有類的說明,PHP,VB,C++,這個在VBScript中的類的說明,我是第一次聽到,我們的日常工作就是網站開發(fā),在這個里面多多少少搞出點經驗,像模像樣也能自詡為"內行",所以我就來分享一下我所知道的這個新的東東。我們來看看下面的這個代碼吧!(window2000+IIS5.0通過測試)
類的定義1
yyh.asp
% ''聲明一個名為yh的類 Class yh Private yh ''類的初始化 Private Sub Class_Initialize yh="天涯風云" End Sub ''定義一個函數(shù) 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函數(shù),一個yyh1方法,這個程序很簡單相信大家能看懂,它的顯示如下:
12
這是天涯風云的方法
可以把我們常用到的程序寫成一個類,到時候就用!--#include file="yyh.asp"-->來包含進來就行了,這給我們開發(fā)程序又提供了新的空間.
類的定義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 %>
一個完全數(shù)據庫管理的asp類模型
'天涯風云原創(chuàng)
先建一個數(shù)據庫user,有一個表名為user,
表里有三個字段,分別為id,name,content
先寫數(shù)據庫連接文件:
'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() '類的初始化,連接數(shù)據庫 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 '挑戰(zhàn)分頁顯示~~?。? 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 "內容: "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通過)