asp¼òµ¥µÄajaxÁôÑÔ°å

¸´ÖÆ´úÂë ´úÂëÈçÏÂ:

¡¡¡¡<%@ 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</returns>

¡¡¡¡Public Function FindByPage(PageSize,CurrentPage,WhereValue,OrderValue)

¡¡¡¡Dim parms,SQL,objRS

¡¡¡¡Dim s1

¡¡¡¡If CurrentPage="0" Then

¡¡¡¡s1 =  PageSize & "|" + OrderValue & "|" & WhereValue

¡¡¡¡parms = Split(s1,"|")

¡¡¡¡SQL = mycom.Format(SQL_05,parms)

¡¡¡¡Else

¡¡¡¡s1 = PageSize & "|" & OrderValue & "|" + WhereValue & "|" & CurrentPage*PageSize

¡¡¡¡parms = Split(s1,"|")

¡¡¡¡SQL = mycom.Format(SQL_06,parms)

¡¡¡¡End If

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

¡¡¡¡Set FindByPage = objRS

¡¡¡¡End Function

¡¡¡¡Private Sub Class_Initialize()

¡¡¡¡SQL_01 = "Select * From [Guest] Where Id = {0}"

¡¡¡¡SQL_02 = "Insert into [Guest] ([Content],[Re],[Addtime],[Ip]) values('{0}','{1}','{2}','{3}')"

¡¡¡¡SQL_03 = "Update [Guest] Set [Content]='{1}',[Re]='{2}',[Addtime]='{3}',[Ip]='{4}' Where Id = {0}"

¡¡¡¡SQL_04 = "Delete From [Guest] Where Id In ({0})"

¡¡¡¡SQL_05 = "Select Top {0} * From [Guest] Where Content Like '%{2}%' Order By {1} Desc,Id Desc"

¡¡¡¡SQL_06 = "Select Top {0} * From [Guest] Where Content Like '%{2}%' And Id Not IN(Select Top {3} Id From [Guest] Where Content Like '%{2}%' Order By {1} Desc,Id Desc) Order By {1} Desc,Id Desc"

¡¡¡¡SQL_07 = "Select * From [Guest] Where Content Like '%{0}%' "

¡¡¡¡Set mycom = new Common

¡¡¡¡Set myacc = new AccHelper

¡¡¡¡Set mymod = new MOD_Guest

¡¡¡¡End Sub

¡¡¡¡Private Sub Class_Terminate()

¡¡¡¡Set mycom = Nothing

¡¡¡¡Set myacc = Nothing

¡¡¡¡Set mymod = Nothing

¡¡¡¡End Sub

¡¡¡¡End Class

¡¡¡¡%>

¡¡¡¡MOD_Guest.asp

¡¡¡¡<%

¡¡¡¡'/// <summary>

¡¡¡¡'/// ÕªÒªËµÃ÷¡£

¡¡¡¡'/// </summary>

¡¡¡¡Class MOD_Guest

¡¡¡¡Public Id

¡¡¡¡Public Content

¡¡¡¡Public Re

¡¡¡¡Public Addtime

¡¡¡¡Public Ip

¡¡¡¡Public Sub SetVar(vId,vContent,vRe,vAddtime,vIp)

¡¡¡¡Id=vId

¡¡¡¡Content=vContent

¡¡¡¡Re=vContent

¡¡¡¡Addtime=vAddtime

¡¡¡¡Ip=vIp

¡¡¡¡End Sub

¡¡¡¡End Class

¡¡¡¡%>

¡¡¡¡Common.asp

¡¡¡¡<%

¡¡¡¡'/// <summary>

¡¡¡¡'/// ÕªÒªËµÃ÷

¡¡¡¡'/// </summary>

¡¡¡¡Class Common

¡¡¡¡'/// <summary>

¡¡¡¡'/// »ñµÃÐÅÏ¢

¡¡¡¡'/// </summary>

¡¡¡¡'/// <param name="Id">ÐèÒªÄÚÈÝ</param>

¡¡¡¡'/// <param name="Id">Ìæ»»¹Ø¼ü×Ö</param>

¡¡¡¡'/// <returns>¸ñʽ»¯ºóÄÚÈÝ</returns>

¡¡¡¡Public Function Format(str,arr)

¡¡¡¡Dim r,i

¡¡¡¡r = str

¡¡¡¡For i = 0 To UBound(arr)

¡¡¡¡r = Replace(r,"{"&i&"}",arr(i))

¡¡¡¡Next

¡¡¡¡Format = r

¡¡¡¡End Function

¡¡¡¡Public Function Page(PageSize,CurrentPage,RecordCount,PageUrl)

¡¡¡¡const C_RECORDCOUNT = "ºÏ¼Æ<STRONG><FONT color=""red"">{0}</FONT></STRONG>ƪ |"

¡¡¡¡const C_FIRSTPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">Ê×Ò³</a>"

¡¡¡¡const C_FIRSTPAGE2 = " Ê×Ò³"

¡¡¡¡const C_PREVPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">ÉÏÒ»Ò³</a>"

¡¡¡¡const C_PREVPAGE2 = " ÉÏÒ»Ò³"

¡¡¡¡const C_NEXTPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">ÏÂÒ»Ò³</a>"

¡¡¡¡const C_NEXTPAGE2 = " ÏÂÒ»Ò³"

¡¡¡¡const C_LASTPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">βҳ</a>"

¡¡¡¡const C_LASTPAGE2 = " Î²Ò³"

¡¡¡¡const C_CURRENTPAGE = " Ò³´Î£º<STRONG><FONT color=""red"">{0}</FONT>/{1}</STRONG>Ò³"

¡¡¡¡const C_PAGESIZE = " <STRONG>{0}</STRONG>ƪ/Ò³  "

¡¡¡¡const C_GOTOPAGE = " Ìø×ª£º<input type=""text"" name=""goto"" value=""{1}"" onchange=""$('{0}&PageNo='+this.value)"" style=""width:20px;border:1px""/>  "

¡¡¡¡Dim PageCount,pages

¡¡¡¡Dim lRecordCount,lFirstpage,lPrevpage,lNextpage,lLastpage,lCurrentpage,lPagesize,lGotopage

¡¡¡¡Dim p,parms

¡¡¡¡If RecordCount Mod PageSize <> 0 Then

¡¡¡¡pages = 1

¡¡¡¡else

¡¡¡¡pages = 0

¡¡¡¡End If

¡¡¡¡PageCount=CInt(RecordCount/PageSize + pages)

¡¡¡¡parms=Array(RecordCount)

¡¡¡¡lRecordCount = Format(C_RECORDCOUNT,parms)

¡¡¡¡if CInt(CurrentPage)>1 Then

¡¡¡¡parms=Array(Pageurl,1)

¡¡¡¡lFirstpage = Format(C_FIRSTPAGE1,parms)

¡¡¡¡parms=Array(Pageurl,CInt(CurrentPage)-1)

¡¡¡¡lPrevpage = Format(C_PREVPAGE1,parms)

¡¡¡¡Else

¡¡¡¡lFirstpage=C_FIRSTPAGE2

¡¡¡¡lPrevpage=C_PREVPAGE2

¡¡¡¡End If

¡¡¡¡if CInt(CurrentPage)<PageCount Then

¡¡¡¡parms=Array(Pageurl,CInt(CurrentPage)+1)

¡¡¡¡lNextpage = Format(C_NEXTPAGE1,parms)

¡¡¡¡parms=Array(Pageurl,CInt(CurrentPage)+1)

¡¡¡¡lLastpage = Format(C_LASTPAGE1,parms)

¡¡¡¡Else

¡¡¡¡lNextpage=C_NEXTPAGE2

¡¡¡¡lLastpage=C_LASTPAGE2

¡¡¡¡End If

¡¡¡¡parms=Array(CurrentPage,PageCount)

¡¡¡¡lCurrentpage = Format(C_CURRENTPAGE,parms)

¡¡¡¡parms=Array(PageSize)

¡¡¡¡lPagesize = Format(C_PAGESIZE,parms)

¡¡¡¡parms=Array(Pageurl,CurrentPage)

¡¡¡¡lGotopage = Format(C_GOTOPAGE,parms)

¡¡¡¡p=lRecordCount&lFirstpage&lPrevpage&lNextpage&lLastpage&lCurrentpage&lPagesize&lGotopage

¡¡¡¡Page = p

¡¡¡¡End Function

¡¡¡¡End Class

¡¡¡¡%>

¡¡¡¡AccHelper.asp

¡¡¡¡<%

¡¡¡¡'/// <summary>

¡¡¡¡'/// AccHelper µÄժҪ˵Ã÷¡£

¡¡¡¡'/// </summary>

¡¡¡¡Class AccHelper

¡¡¡¡Public CONN_STRING

¡¡¡¡'/// <summary>

¡¡¡¡'/// Ö´ÐÐExecuteNonQuery

¡¡¡¡'/// </summary>

¡¡¡¡'/// <param name="connString">Á¬½Ó×Ö·û</param>

¡¡¡¡'/// <param name="cmdText">sqlÃüÁî</param>

¡¡¡¡Public Function ExecuteNonQuery(connString,cmdText)

¡¡¡¡Dim objConn

¡¡¡¡Set objConn = Server.CreateObject("ADODB.Connection")

¡¡¡¡objConn.Open connString

¡¡¡¡objConn.Execute(cmdText)

¡¡¡¡End Function

¡¡¡¡'/// <summary>

¡¡¡¡'/// Ö´ÐÐExecuteReader

¡¡¡¡'/// </summary>

¡¡¡¡'/// <param name="connString">Á¬½Ó×Ö·û</param>

¡¡¡¡'/// <param name="cmdText">sqlÃüÁî</param>

¡¡¡¡'/// <returns>RS</returns>

¡¡¡¡Public Function ExecuteReader(connString,cmdText)

¡¡¡¡Dim objConn,objRS

¡¡¡¡Set objConn = Server.CreateObject("ADODB.Connection")

¡¡¡¡objConn.Open connString

¡¡¡¡Set objRS = objConn.Execute(cmdText)

¡¡¡¡Set ExecuteReader = objRS

¡¡¡¡End Function

¡¡¡¡'/// <summary>

¡¡¡¡'/// Ö´ÐÐRecordset

¡¡¡¡'/// </summary>

¡¡¡¡'/// <param name="connString">Á¬½Ó×Ö·û</param>

¡¡¡¡'/// <param name="cmdText">sqlÃüÁî</param>

¡¡¡¡'/// <returns>RS</returns>

¡¡¡¡Public Function Recordset(connString,cmdText)

¡¡¡¡Dim objConn,objRS

¡¡¡¡Set objConn = Server.CreateObject("ADODB.Connection")

¡¡¡¡objConn.Open connString

¡¡¡¡Set objRS = Server.CreateObject("ADODB.RecordSet")

¡¡¡¡objRS.Open cmdText,objConn,1,3

¡¡¡¡Set Recordset = objRS

¡¡¡¡End Function

¡¡¡¡Private Sub Class_Initialize()

¡¡¡¡CONN_STRING = "provider = microsoft.jet.oledb.4.0;data source=" & Server.Mappath("db.mdb")

¡¡¡¡End Sub

¡¡¡¡End Class

¡¡¡¡%>