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 " |
(以上程序在winxpsp2+netbox通過)