3.1.1功能
利用SQL語(yǔ)法過濾特定的家長(zhǎng)留言意見,讓老師可以針對(duì)某位特定學(xué)生家長(zhǎng)所發(fā)表的意見作出獨(dú)立的回答,同時(shí),家長(zhǎng)在發(fā)表個(gè)人意見時(shí),若認(rèn)為意見內(nèi)容涉及敏感的話題或是意見內(nèi)容涉及私人隱私,都可用“悄悄話”的方式發(fā)言,這些“悄悄話”將不會(huì)被顯示出來(lái)讓大家看到,當(dāng)然,老師擁有管理的能力,只要以密碼登錄管理模式,就可以進(jìn)行各個(gè)學(xué)生家長(zhǎng)的單獨(dú)意見回復(fù),而且還能看到家長(zhǎng)們所留下的“悄悄話”。
3.1.2組成構(gòu)造
共分成六大部分:
1.意見留言結(jié)果網(wǎng)頁(yè)guest.asp:用來(lái)顯示家長(zhǎng)發(fā)言與老師回復(fù)內(nèi)容,同時(shí)還具備一般模式與管理模式兩種顯示方法。
2.家長(zhǎng)發(fā)言表單網(wǎng)頁(yè)addmsg.asp:讓學(xué)生家長(zhǎng)填寫發(fā)言內(nèi)容并選擇發(fā)言性質(zhì)。
3.家長(zhǎng)發(fā)言數(shù)據(jù)處理ASP程序add.asp:處理家長(zhǎng)發(fā)表的意見數(shù)據(jù),同時(shí)將這些意見數(shù)據(jù)記錄起來(lái)并將網(wǎng)頁(yè)顯示轉(zhuǎn)向至意見留言結(jié)果網(wǎng)頁(yè)。
4.老師回復(fù)表單網(wǎng)頁(yè)teachans.asp:讓老師針對(duì)某位特定學(xué)生家長(zhǎng)所發(fā)表的意見作出獨(dú)立的回答。
5.老師回復(fù)數(shù)據(jù)處理ASP程序anssave.asp:處理老師回復(fù)的數(shù)據(jù)內(nèi)容,同時(shí)將這些意見數(shù)據(jù)起來(lái)并將網(wǎng)頁(yè)顯示轉(zhuǎn)向至意見留言結(jié)果網(wǎng)頁(yè)。
6.數(shù)據(jù)表文件allmessage:用來(lái)儲(chǔ)存家長(zhǎng)發(fā)言數(shù)據(jù)與老師回復(fù)數(shù)據(jù)的Access類型數(shù)據(jù)庫(kù)文件。
“數(shù)據(jù)表文件”負(fù)責(zé)存放家長(zhǎng)發(fā)言數(shù)據(jù)與老師回復(fù)內(nèi)容的數(shù)據(jù)記錄,為Access類型的庫(kù)文件,將它定名為:“message.mdb”。
下圖為家庭聯(lián)絡(luò)簿的組成與流程圖:
老師回復(fù)
家長(zhǎng)留言
讀入 寫入
寫入
3.1.3數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)
數(shù)據(jù)庫(kù)文件“teach.mdb”中的數(shù)據(jù)表“ allmessage”的欄目設(shè)置,如下圖:
字段名 字段類型
3.1.4界面設(shè)計(jì)與重點(diǎn)、難點(diǎn)代碼的設(shè)計(jì)
數(shù)據(jù)庫(kù)與留言顯示程序網(wǎng)頁(yè)
家長(zhǎng)發(fā)言與老師回復(fù)的內(nèi)容數(shù)據(jù)全部?jī)?chǔ)存在數(shù)據(jù)庫(kù)中,要在網(wǎng)頁(yè)中顯示目前的家長(zhǎng)發(fā)言與老師回復(fù)數(shù)據(jù),必須先進(jìn)行數(shù)據(jù)庫(kù)的鏈接與打開,要鏈接數(shù)據(jù)庫(kù)我們必須使用ADO對(duì)象群的Connection對(duì)象;而要打開數(shù)據(jù)庫(kù)則必須使用ADO對(duì)象群的Recordset對(duì)象,程序:
set cn=server.createobject(“adodb.connection”)
cn.open “filedsn=c:\program files\common files\odbc\data sources\ms access database.dsn”
set rs=server.createobject(“adodb.recordset”)
sql=“select * from allmessage order by 留言時(shí)間 desc”
rs.open sql,cn,1,1
Recordset對(duì)象是負(fù)責(zé)瀏覽與操作從數(shù)據(jù)庫(kù)取出來(lái)的數(shù)據(jù),Connection對(duì)象只負(fù)責(zé)與數(shù)據(jù)庫(kù)進(jìn)行鏈接的動(dòng)作,并不能使用數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù),因此必須建立一個(gè)可以存取數(shù)據(jù)庫(kù)數(shù)據(jù)的Recordset對(duì)象,
使用RS.Open方法存取“teach.mdb”數(shù)據(jù)庫(kù)
RS.Open SQL,CN,1,1
使用open方法來(lái)打開數(shù)據(jù)表或執(zhí)行Select指令參數(shù)設(shè)置如下:
1.參數(shù)一(SOURCE):為欲打開的數(shù)據(jù)表或SQL指令。
2.參數(shù)二(ActionConnection):指定一個(gè)已打開的數(shù)據(jù)庫(kù)對(duì)象,將此參數(shù)設(shè)為鏈接我們已經(jīng)建立好的Connection對(duì)象“CN”。
3.參數(shù)三( CursorType):指定Recordset的打開類型,1為可讀寫且可自由移動(dòng)。
4.參數(shù)四(LockType):指定鎖定類型,1為只讀。
數(shù)據(jù)排序與SQL指令
1. Select 指令的篩選語(yǔ)句:
格式: Select…From
在SQL語(yǔ)言中:“Select”數(shù)據(jù)表“中選取某些”欄位“的數(shù)據(jù)。
2.如果要選取的數(shù)據(jù)表數(shù)據(jù)包含了一個(gè)以上的欄位,則我們可以利用“,”逗號(hào)來(lái)欄位名稱隔開。
3. 如果要選取的數(shù)據(jù)表數(shù)據(jù)包含了全部的欄位,則可以利用萬(wàn)用字符“*”來(lái)代表全部的欄位。
可排序數(shù)據(jù)的Select指令
1. 當(dāng)我們希望被選取出來(lái)的數(shù)據(jù)記錄數(shù)據(jù)能夠依據(jù)某個(gè)或某幾個(gè)欄位的內(nèi)容來(lái)排序時(shí),只要將這些排序依據(jù)的欄位擺放在“Order By”保留字之后,然后將這處排序的語(yǔ)句連接在“Select…From”后面就行了。
2. “Order By”默認(rèn)的排序方式是“由小排到大”,但若是希望排序方式是“由大排到小”,則我們可在欄位名稱后再加上“Desc”保留字!將排序方式改為“由大排到小”。
在“顯示留言意見”網(wǎng)頁(yè)中的打開數(shù)據(jù)庫(kù)ASP程序中的語(yǔ)句:
SELECT*From allmessage order by 留言日期 Desc
功能為:從數(shù)據(jù)表“allmessage”中取出所有欄位的數(shù)據(jù),并將取出的數(shù)據(jù)記錄內(nèi)容依照“留言日期”欄位使用的“由大排到小”排序方式進(jìn)行排序。
留言顯示網(wǎng)頁(yè)的管理模式
“顯示留言意見”的網(wǎng)頁(yè)就必須具備顯示模式選擇的功能,當(dāng)顯示模式在一般情況時(shí)要能顯示家長(zhǎng)們的一般性發(fā)言,同時(shí)還得將“悄悄話”的發(fā)言隱藏起來(lái)。當(dāng)老師以密碼登錄成為管理模式時(shí),則必須將一般性發(fā)言與悄悄話發(fā)言的數(shù)據(jù)全部顯示出來(lái),同時(shí)還得讓老師們可以針對(duì)某位特定學(xué)生家長(zhǎng)所發(fā)表的意見作出獨(dú)立的回答。
這兩個(gè)情況是通過密碼登錄管理模式的ASP程序?qū)崿F(xiàn)的:
form method=“post”
%if session(“checkedit”)=“yes” then%
input type=“hidden” value=“yes” name=“goexit”
input type=“submit” value=“離開管理模式”
%else%
密碼: input type=“password” name=“password” size=“4” maxlength=“4” nbsp nbsp input type=“submit” value=“教師管理”
%end if%
/form
在這段網(wǎng)頁(yè)語(yǔ)句中,利用Session對(duì)象來(lái)記錄目前的工作模式。當(dāng)我們第一次進(jìn)入“顯示留言意見”網(wǎng)頁(yè)的時(shí)候,我們所見的網(wǎng)頁(yè)畫面一定是一般!因?yàn)镾ession尚未被建立,因此它的“變量”值一定不會(huì)是“yes”,所以網(wǎng)頁(yè)中會(huì)出現(xiàn)一個(gè)輸入密碼進(jìn)入“教師管理”模式的欄位,只有當(dāng)我們輸入密碼按下“教師管理”的按鈕組織上發(fā)ASP程序中的進(jìn)入管理模式語(yǔ)句后,Session對(duì)象才會(huì)被建立,同時(shí),“checkedit”Session對(duì)象變量值被設(shè)置為“yes”,所以我們就進(jìn)入了能將一般性發(fā)言與悄悄話發(fā)言的數(shù)據(jù)全部顯示出來(lái),同時(shí)還讓教師們可以針對(duì)某位特定學(xué)生家長(zhǎng)所發(fā)表的意見作出獨(dú)立回答的管理模式頁(yè)面。