开发网站其实就是对数据库中数据的操作,所以我们可以把数据看作一个总的对象,每一个数据表都是一个对象,加入有数据表Topic的话,我们可以这样来做:
(以下部分只是一个思路,里面的许多东西都在另外几个类中,如cms,data之类的,大家看看思路就行,不明白的可以问我)
topic表的字段假设为 ID,Title,Content,Hits,AddTime
代码:
<%
'==================== 数据类: Topic_Class 注释开始 ==========================
'== Important :对数据表 Topic 进行相关操作
'== Written by :Hankx Chen
'== Version : 1.3
'== Created Date :2007-2-6 17:04:40
'==================== 数据类: Topic_Class 注释结束 ==========================
Class Topic_Class
'以下是系统数据字段
Public ID,Title,Content,Hits,AddTime
'以下是自定义的公共属性
Public Template
'初始化类
Private Sub Class_Initialize
AddTime=Now()
End Sub
'注销类
Private Sub Class_Terminate
End Sub
'Read方法用于读取具体的数据内容
Public Sub Read()
on error resume next
cms.errorcode=0
cms.data.sql="Select Top 1 * From [Topic] where ID="&ID
Set cms.data.rs=cms.data.execute(cms.data.sql)
If Not cms.data.rs.eof Then
ID=cms.data.rs("ID")
Title=cms.data.rs("Title")
Content=cms.data.rs("Content")
Hits=cms.data.rs("Hits")
AddTime=cms.data.rs("AddTime")
Else
cms.errorcode=10000
cms.errortext="ReadDataError: 未能在数据表 [Topic] 找到 ID 为 "&ID&" 的数据"
End If
cms.data.rs.close
Set cms.data.rs=nothing
If err Then
cms.errorcode=10010
cms.errortext="ReadDataError: 从数据表 [Topic] 读取 ID 为 的数据时出现错误:"&Err.Description
End IF
End Sub
'Save方法用于保存添加的数据内容
Public Sub Save()
on error resume next
cms.errorcode=0
If Not IsObject(cms.data.conn) Then cms.data.open()
Set cms.data.rs = Server.CreateObject("ADODB.Recordset")
cms.data.sql="Select Top 1 * From [Topic]"
cms.data.rs.open cms.data.sql,cms.data.conn,1,3
cms.data.rs.Addnew
cms.data.rs("ID")=ID
cms.data.rs("Title")=Title
cms.data.rs("Content")=Content
cms.data.rs("Hits")=Hits
cms.data.rs("AddTime")=AddTime
cms.data.rs.update
cms.data.rs.close
Set cms.data.rs=nothing
If err Then
cms.errorcode=10020
cms.errortext="SaveDataError: 向数据表 [Topic] 添加数据时出现错误:"&Err.Description
End IF
End Sub
'Update方法用于更新具体的数据内容
Public Sub Update()
on error resume next
cms.errorcode=0
If Not IsObject(cms.data.conn) Then cms.data.open()
Set cms.data.rs = Server.CreateObject("ADODB.Recordset")
cms.data.sql="Select Top 1 * From [Topic] where ID="&ID
cms.data.rs.open cms.data.sql,cms.data.conn,1,3
If Not cms.data.rs.Eof Then
cms.data.rs("ID")=ID
cms.data.rs("Title")=Title
cms.data.rs("Content")=Content
cms.data.rs("Hits")=Hits
cms.data.rs("AddTime")=AddTime
cms.data.rs.update
Else
cms.errorcode=10000
cms.errortext="UpdateDataError: 在数据表 [Topic] 中无法找到 ID 为 "&ID&" 的数据"
End If
cms.data.rs.close
Set cms.data.rs=nothing
If err Then
cms.errorcode=10030
cms.errortext="UpdateDataError: 向数据表 [Topic] 更新数据时出现错误:"&Err.Description
End IF
End Sub
'Delete方法用于删除具体的数据内容
Public Sub Delete()
on error resume next
cms.errorcode=0
If Not IsObject(cms.data.conn) Then cms.data.open()
Set cms.data.rs = Server.CreateObject("ADODB.Recordset")
cms.data.sql="Select Top 1 * From [Topic] where ID="&ID
cms.data.rs.open cms.data.sql,cms.data.conn,1,3
If Not cms.data.rs.eof Then
cms.data.rs.delete
cms.data.rs.update
Else
cms.errorcode=10000
cms.errortext="DeleteDataError: 在数据表 [Topic] 中无法找到 ID 为 "&ID&" 的数据"
End If
cms.data.rs.close
Set cms.data.rs=nothing
If err Then
cms.errorcode=10040
cms.errortext="DeleteDataError: 从数据表 [Topic] 中删除 ID 为 "&ID&" 数据时出现错误:"&Err.Description
End IF
End Sub
'List函数用于返回模版列表
Public Function List()
End Function
'Hit用于点击
Public Sub Hit()
End Sub
End Class
%>
这样来使用
Dim Topic
Set Topic=New Topic_Class
Topic.id=Request.String("ID")
Topic.Read()
下面显示的时候就可以直接写,比如显示页面可以输出内容
<div class="title"><%=topic.title%></div>
<div class="content"><%=topic.content%></div>
如果是添加就是
Topic.ID=1'新建务必使不重复
topic.title="新的标题"
…………
'可以接收数据
'topic.title=Request.Form("Title")
'可以处理数据等等
Topic.Save
其他的类似就可以了,有多少数据表就有多少数据类,使得开发面向对象化,修改或者扩展起来也更加方便
附上一个简单实例:
代码:
<!--#include file="../Inc/Top.Global.asp"-->
<!--#include file="../Inc/Data.Topic.asp"-->
<%
cms.Page.Title ="页面标题"
cms.Page.CSS ="页面.css"
cms.Page.JS ="页面.JS"
cms.Page.OnLoad ="加载过程"
cms.Page.Head()
'声明要使用的页面数据类
Dim Topic
Set Topic=New Topic_Class
'过程选择
Select Case cms.Action
case Lcase("DataAdd")
call DataAdd()
case Lcase("DataSave")
call DataSave()
case Lcase("DataEdit")
call DataEdit()
case Lcase("DataUpdate")
call DataUpdate()
case Lcase("DataDelete")
call DataDelete()
case else
call DataList()
End Select
Set Topic=Nothing
cms.Page.Footer()
'=======================列表过程:[Topic]==========================================
Sub DataList()
cms.Page.BlockTitle="列表"
cms.Page.BlockHead()
%>
<%
cms.Page.BlockFooter()
End Sub
'=======================添加过程:[Topic]==========================================
Sub DataAdd()
cms.Page.BlockTitle="添加"
cms.Page.BlockHead()
%>
<form name="HankxForm" action="?action=DataSave" method="post" target="HiddenIFrame" onSubmit="return Validator.Validate(this,3)" >
<table class="table" id="HankxFormAdd">
<tr>
<td class="tab">ID</td>
<td class="main"><input name="ID" id="ID" value="" class="text" dataType="Require" msg="该项不能为空,请填写"/></td>
</tr>
<tr>
<td class="tab">Title</td>
<td class="main"><input name="Title" id="Title" value="" class="text" dataType="Require" msg="该项不能为空,请填写"/></td>
</tr>
<tr>
<td class="tab">Content</td>
<td class="main"><textarea name="Content" id="Content" class="text" dataType="Require" msg="该项不能为空,请填写"></textarea></td>
</tr>
<tr>
<td class="tab">Hits</td>
<td class="main"><input name="Hits" id="Hits" value="" class="text" dataType="Require" msg="该项不能为空,请填写"/></td>
</tr>
<tr>
<td class="tab">AddTime</td>
<td class="main"><input name="AddTime" id="AddTime" value="" class="text" dataType="Require" msg="该项不能为空,请填写"/></td>
</tr>
<tr class="buttonline">
<td class="tab"></td>
<td class="main"><input name="" type="submit" value="保存添加" class="button" /></td>
</tr>
</table>
</form>
<%
cms.Page.BlockFooter()
End Sub
'=======================保存过程:[Topic]==========================================
Sub DataSave()
Topic.ID=cms.myRequest.Form("ID")
Topic.Title=cms.myRequest.Form("Title")
Topic.Content=cms.myRequest.Form("Content")
Topic.Hits=cms.myRequest.Form("Hits")
Topic.AddTime=cms.myRequest.Form("AddTime")
Topic.Save()
If Not cms.ErrorCode=0 Then
Response.Write "<script language=""javascript"">alert('"&cms.ErrorText&"');</script>"
Response.End()
Else
Response.Write "<script language=""javascript"">alert('添加数据成功');parent.location.href='?action=list';</script>"
Response.End()
End If
End Sub
'=======================修改过程:[Topic]==========================================
Sub DataEdit()
Topic.ID=cms.myRequest.number("ID")
Topic.Read()
cms.Page.BlockTitle="修改"
cms.Page.BlockHead()
%>
<form name="HankxForm" action="?action=DataUpdate&ID=<%=Topic.ID%>" method="post" target="HiddenIFrame" onSubmit="return Validator.Validate(this,3)" >
<table class="table" id="HankxFormEdit">
<tr>
<td class="tab">ID</td>
<td class="main"><input name="ID" type="text" id="ID" value="<%=Topic.ID%>" class="text" dataType="Require" msg="该项不能为空,请填写"/></td>
</tr>
<tr>
<td class="tab">Title</td>
<td class="main"><input name="Title" type="text" id="Title" value="<%=Topic.Title%>" class="text" dataType="Require" msg="该项不能为空,请填写"/></td>
</tr>
<tr>
<td class="tab">Content</td>
<td class="main"><textarea name="Content" id="Content" class="text" dataType="Require" msg="该项不能为空,请填写"><%=Topic.Content%></textarea></td>
</tr>
<tr>
<td class="tab">Hits</td>
<td class="main"><input name="Hits" type="text" id="Hits" value="<%=Topic.Hits%>" class="text" dataType="Require" msg="该项不能为空,请填写"/></td>
</tr>
<tr>
<td class="tab">AddTime</td>
<td class="main"><input name="AddTime" type="text" id="AddTime" value="<%=Topic.AddTime%>" class="text" dataType="Require" msg="该项不能为空,请填写"/></td>
</tr>
<tr class="buttonline">
<td class="tab"></td>
<td class="main"><input name="" type="submit" value="保存修改" class="button" /></td>
</tr>
</table>
</form>
<%
cms.Page.BlockFooter()
End Sub
'=======================更新过程:[Topic]==========================================
Sub DataUpdate()
Topic.ID=cms.myRequest.number("ID")
Topic.Read()
Topic.ID=cms.myRequest.Form("ID")
Topic.Title=cms.myRequest.Form("Title")
Topic.Content=cms.myRequest.Form("Content")
Topic.Hits=cms.myRequest.Form("Hits")
Topic.AddTime=cms.myRequest.Form("AddTime")
Topic.Update()
If Not cms.ErrorCode=0 Then
Response.Write "<script language=""javascript"">alert('"&cms.ErrorText&"');</script>"
Response.End()
Else
Response.Write "<script language=""javascript"">alert('更新数据成功');parent.location.href='?action=list';</script>"
Response.End()
End If
End Sub
'=======================删除过程:[Topic]==========================================
Sub DataDelete()
Topic.ID=cms.myRequest.number("ID")
Topic.Read()
'判断过程
Topic.Delete()
If Not cms.ErrorCode=0 Then
Response.Write "<script language=""javascript"">alert('"&cms.ErrorText&"');</script>"
Response.End()
Else
Response.Write "<script language=""javascript"">alert('删除数据成功');parent.location.href='?action=list';</script>"
Response.End()
End If
End Sub
%>
<!--#include file="../Inc/bottom.Global.asp"-->