ASP简单的ajax留言板(采用三层模式)

王朝asp·作者佚名  2006-11-24
宽屏版  字体: |||超大  

好久没有写过asp了,这回写个留言板还真觉得有点难度,竞然写了整整一天,哈哈.就只有留言其它的都什么也没写,采用三层结构(不知道算不算,本来对三层的概念很糊涂)

演示www.zj55.com的留言板,希望各位大哥大姐如果发现有漏洞的话请在这里告诉我,千万不要黑我的网站,在这里小弟先谢过了.

index.asp

<%@ codepage=65001%>

<%

option explicit

%>

<% Response.Charset="utf-8"%>

<% Session.CodePage=65001 %>

<!-- #include file="AccHelper.asp" -->

<!-- #include file="Common.asp"-->

<!-- #include file="DAL_Guest.asp" -->

<!-- #include file="MOD_Guest.asp" -->

<!-- #include file="BLL_Guest.asp" -->

<%

Dim mybll

Dim myList

Set mybll = new BLL_Guest

Select Case Request("tCMD")

Case "SAVE"

mybll.Insert()

Case "DEL"

mybll.Delete()

End Select

myList = mybll.FindByPage()

%>

<h2>客户留言</h2>

<p>

<form name="subForm" id="subForm">

<textarea id="con" name="con" cols="56" rows="6" wrap="VIRTUAL"></textarea>

<input type="button" name="submit" value="提交留言" onclick="$('guest/index.asp?tCMD=SAVE&content='+escape(this.form.con.value))" />

</form>

</p>

<%=myList%>

BLL_Guest.asp

<%

'/// <summary>

'/// 摘要说明。

'/// </summary>

Class BLL_Guest

Private mycom,mymod,mydal

Private LI,UL

Private DEL

'获取信息

Public Sub GetGuest()

mydal.GetGuest(Id)

End Sub

'新增信息

Public Sub Insert()

mymod.Content = Request("content")

mymod.re = Request("Re")

mymod.Addtime = Now()

mymod.Ip = request.servervariables("HTTP_X_FORWARDED_FOR")

If len(mymod.Ip)<=0 Then mymod.Ip = request.servervariables("REMOTE_ADDR")

Call mydal.Insert(mymod)

End Sub

'更新信息

Public Sub Update()

Call mydal.Update(mymod)

End Sub

'删除信息

Public Sub Delete()

mydal.Delete(Request("Id"))

End Sub

'查找信息

Public Function FindByPage()

Dim PageSize,CurrentPage,WhereValue,OrderValue,RecordCount

Dim objRS

Dim tmp1,tmp2,tmp3,parms,i

Dim tCMD

tCMD = Request("tCMD")

PageSize = "8"

CurrentPage = Request("PageNo")

If Len(CurrentPage)<=0 Then

CurrentPage=1

End If

WhereValue = ""

OrderValue = "Id"

Set objRS = mydal.FindByPage(PageSize,CurrentPage-1,WhereValue,OrderValue)

i = 1

RecordCount = mydal.Count(WhereValue)

Do While Not objRS.EOF

If tCMD="DEL" Then

DEL = "<a href=""?tCMD=DEL&Id="&objRS("Id")&""">删除</a>"

Else

DEL = ""

End If

parms=Array(i,objRS("content"),objRS("ip"),objRS("addtime"),DEL)

tmp1 = tmp1 & mycom.Format(LI,parms)

objRs.Movenext

i = i + 1

Loop

tmp3 = mycom.Page(PageSize,CurrentPage,RecordCount,"guest/index.asp?tCMD=LIST")

parms=Array(tmp1,tmp3)

tmp2 = tmp2 & mycom.Format(UL,parms)

FindByPage = tmp2

End Function

Private Sub Class_Initialize()

LI = "<li><span>{0}</span> <span>{1}</span><br /><span>作者:{2}</span> <span>{3}</span> <span>{4}</span></li>" & vbCrLf

UL = "<UL>{0}<li>{1}</li></UL>"

DEL = ""

Set mycom = new Common

set mymod = new MOD_Guest

set mydal = new DAL_Guest

End Sub

Private Sub Class_Terminate()

Set mycom = Nothing

Set mymod = Nothing

set mydal = Nothing

End Sub

End Class

%>

DAL_Guest.asp

<%

'/// <summary>

'/// 摘要说明。

'/// </summary>

Class DAL_Guest

Private SQL_01

Private SQL_02

Private SQL_03

Private SQL_04

Private SQL_05

Private SQL_06

Private SQL_07

Private mycom,myacc,mymod

'/// <summary>

'/// 获得信息

'/// </summary>

'/// <param name="Id">判断字段</param>

'/// <returns>信息体</returns>

Public Function GetGuest(Id)

Dim parms,SQL,objRS

parms = Array(Id)

SQL = mycom.Format(SQL_01,parms)

Set objRS = myacc.ExecuteReader(myacc.CONN_STRING,SQL)

If Not objRS.EOF then

Call mymod.SetVar(objRs("Id"),objRs("Content"),objRs("Re"),objRs("Addtime"),objRs("Ip"))

Set GetGuest = mymod

Else

GetGuest = Null

End If

End Function

'/// <summary>

'/// 插入信息

'/// </summary>

'/// <param name="">信息体</param>

Public Sub Insert(vmod)

Dim parms,SQL

parms = Array(vmod.Content,vmod.Re,vmod.Addtime,vmod.Ip)

SQL = mycom.Format(SQL_02,parms)

Call myacc.ExecuteReader(myacc.CONN_STRING,SQL)

End Sub

'/// <summary>

'/// 更新信息

'/// </summary>

'/// <param name="">信息体</param>

Public Sub Update(vmod)

Dim parms,SQL

parms = Array(vmod.Id,vmod.Content,vmod.Re,vmod.Addtime,vmod.Ip)

SQL = mycom.Format(SQL_03,parms)

Call myacc.ExecuteReader(myacc.CONN_STRING,SQL)

End Sub

'/// <summary>

'/// 删除信息

'/// </summary>

'/// <param name="">信息体</param>

Public Sub Delete(Id)

Dim parms,SQL

parms = Array(Id)

SQL = mycom.Format(SQL_04,parms)

Call myacc.ExecuteNonQuery(myacc.CONN_STRING,SQL)

End Sub

'/// <summary>

'/// 统计信息

'/// </summary>

'/// <param name="">信息体</param>

Public Function Count(WhereValue)

Dim parms,SQL,objRS

parms = Array(WhereValue)

SQL = mycom.Format(SQL_07,parms)

Set objRS = myacc.Recordset(myacc.CONN_STRING,SQL)

Count = objRS.RecordCount

End Function

'/// <summary>

'/// 根据条件列出所有信息(带有分页)

'/// </summary>

'/// <param name="PageSize">每页记录数</param>

'/// <param name="CurrentPage">页码</param>

'/// <param name="WhereValue">判断值</param>

'/// <param name="OrderValue">排序</param>

'/// <returns>返回objRS

[1] [2] [3] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有