【正文】
錄,然后單擊“登錄”按鈕。輸入的數(shù)據(jù)提交后與數(shù)據(jù)庫中的用戶表進行匹配。須創(chuàng)建一個記錄來保存基于訪問者登錄的用戶信息set RSFindEmp = (”select EmpID, Manager from LibEmps where “ _ amp。 ”EmailAddress = 39。“ amp。 (”EmailAddress“)amp。 ”39。 and “ _ amp。 ”Password = 39?!?amp。 (”Password“)amp。 ”39?!?if then TheMessage = ”密碼或地址不對.“ else Session(”EmpID“)= RSFindEmp(”EmpID“)畢業(yè)設(shè)計論文校園網(wǎng)站建設(shè)Session(”Manager“)= RSFindEmp(”Manager“) ”../“ end if 表單域EmailAddress和Password 用于Where了句中來獲取一個記錄。如果訪問者輸入了一個無效的用戶名,則記錄集中將不會返回匹配的記錄。我們可以通過查看EOF標(biāo)記來判斷一個記錄集是否為空。為空,則訪問者將被拒絕進入該系統(tǒng)。不為空,則訪問者的EmpID值和Manager值將從記錄集中返回。寫入Session 變量,變量將在整個網(wǎng)站的所有網(wǎng)頁中都是有效的。這些變量的存在與否及其取值將用于確定是否允許進入一個特定的網(wǎng)頁,同時也用于訪問者進行書目的歸還和借閱操作。圖書館菜單頁面圖書館菜單頁面包含指向其他4個頁面的鏈接:管理頁面、搜索頁面、圖書列表頁面和主頁面。還有一個可顯示用戶所借書籍的按紐。如果訪問者是圖書館管理員,則菜單界面如圖所示。如果訪問者不是圖書館管理員,則看到如圖所示的界面。非管理員的訪問者的界面上沒有指向管理員菜單頁面的鏈接。實現(xiàn)辦法:訪問者登錄時在登錄頁面上的創(chuàng)建的會話變量Session 用于從數(shù)據(jù)庫中獲取訪問者的有關(guān)信息,表示它是否是管理員。如果值為1,就表明訪問者是一個管理員,則用如下代碼寫入一個指向管理員頁面的鏈接:% If Session(”Manager“)= 1 then %畢業(yè)設(shè)計論文校園網(wǎng)站建設(shè)管理員菜單 % end if % 通過按紐B1是否為空來判斷要不要顯示用戶所借圖書,利用一個記錄集來獲取訪問者已經(jīng)借出了的所有圖書的列表。if NOT isempty((”B1“))then set RSBooks = (”select BookID, Title from LibBooks where “ _ amp。 ”CheckedOutTo = “ amp。 Session(”EmpID“))end if 再用循環(huán)語句將所借書以表格形式顯示出來。 循環(huán)將遍歷Rsbooks記錄集中的每個記錄,直到該記錄集結(jié)束:畢業(yè)設(shè)計論文校園網(wǎng)站建設(shè)該網(wǎng)站中的所有ASP頁面都會在訪問者訪問之前對其進行登錄檢查。這樣就可以避免訪問者通過輸入某個頁面地址然后在沒有登錄的情況下直接進入該頁面的情況發(fā)生。此外,每個管理頁面都要確認(rèn)訪問者是管理員。管理菜單頁面管理菜單頁面有一個HTML表單,根據(jù)選擇的按鈕的不同,可以進行5種不同的操作:圖書的歸還、圖書的編輯、圖書的刪除、圖書的添加和類別的添加。不管選擇了哪一個按鈕,該表單都提交人其自身進行處理。要進行圖書的歸還、圖書的編輯、圖書的刪除三種操作,須先進行搜索,找到該書后,:% If Session(”Manager“)= 1 then % 管理員菜單 % end if % 而管理者頁面通過下列語句%=(”title“)% 這樣就將所找到的書的書號BookID、書名Title傳遞管理者頁面。再進行所須操作。共有3個不同的銨紐,可以進行3種操作。若單擊畢業(yè)設(shè)計論文校園網(wǎng)站建設(shè)“修改”鈕:則重定向到編輯圖書頁面,同時把Bookid 傳遞給該頁面。 “./?BOOKID=”amp。request(“BOOKID1”)將其他的情況需要建立到數(shù)據(jù)庫的連接:set conn = (“”)(“FILEDSN=c:ProgramFilesCommon FilesODBCData Sourcesms access ”)if NOTisempty((“Delete”))and request(“BOOKID1”)“ then ”delete from LibBooks where BOOKID =“amp。request(”BOOKID1“)end if if(NOTisempty((”checkin“)))and request(”BOOKID1“)”“ then ”update LibBooks set checkedoutto= 0, status= 39。Available39。 where BookID=“amp。Request(”BOOKID1“)end if 頁面中的添加新的種類部分包含一個文本控件和一個選擇控件。其中選擇控件是用所有已經(jīng)存在的類別列表進行填充的,包括特殊類別 Top level,該類別表明當(dāng)前類別是處于類別層次結(jié)構(gòu)中的最頂層。代碼如下:畢業(yè)設(shè)計論文校園網(wǎng)站建設(shè)先用一個記錄集來填充父類別選擇控件:set RSCategories = (”select CategoryName from LibCategories order by CategoryName“)再用下列循環(huán)語句: % Do Until % VALUE=”%/pp%“%/pp RSCategories(”CategoryName“)RSCategories(”CategoryName“)% % Loop % 遍歷RSCategories記錄集中的每個記錄,并作為一個選項添加到列表中,而記錄集中CategoryName 同時作為顯示值和傳遞值:本頁面還包含一個指向添加圖書頁面的鏈接。搜索結(jié)果頁面搜索頁面的代碼獲取與訪問者查找規(guī)則相匹配的圖書,然后將這些圖書顯示給訪問者。搜索頁面上的表單包含一個選擇控件和一個文本控件。選擇控件中的選項是用可搜索 的字段填充的:畢業(yè)設(shè)計論文校園網(wǎng)站建設(shè)需要用一個記錄集來保存與訪問者的查找規(guī)則相匹配的記錄: set RSBooks = (”select BookID, Author, Title, Subject from LibBooks where “ _ amp。 (”SearchField“)amp。 ” Like 39。%“ amp。 (”SearchCriteria“)amp。 ”%39?!?注意:,符號%表示的是一個廣義搜索。這一點類似于ACCESS中的符號*。然后將所找到的書以表格形式顯示出來。代碼如下: % Do Until % height=”20“書名:%“%/pp RSBooks(”Title“)% 著者: % RSBooks(”Author“)% 主題: % RSBooks(”Subject“)% % Loop % 圖書頁面:圖書頁面的代碼顯示圖書的有關(guān)信息,以及管理圖書的出借操作。畢業(yè)設(shè)計論文校園網(wǎng)站建設(shè)該頁面通過Querystring 傳遞BookID if isempty((”BookID“))then ”./“ end if 如果其中不存在,則訪問者將被重定向到搜索頁面:如果同時傳遞表單中包含的變量Action不為空,則表明訪問者正借閱該圖書:if Not isempty((”Action“))then 在這種情況下,需要將圖書狀態(tài)改為 Checkout, 同時需要將Checkedoutto 字段修改為該訪問者: ”update LibBooks set Status = 39。Checked Out39。, “ _ amp。 ”CheckedOutTo = “ amp。 Session(”EmpID“)amp。 ” where BookID = “ _ amp。 (”BookID“) ”./“ end if 然后將該訪問者重定到圖書館菜單頁面: 下一步,利用圖書的狀態(tài)來確定不同的鏈接 未借出時鏈接如下:if RSBooks(”status“)= ”Available“ then LinkText= ”畢業(yè)設(shè)計論文校園網(wǎng)站建設(shè)HREF=“../html/?Action=CheckOutamp。BookID=” _ amp。 (“BookID”)amp。 “”借這本書“ 如果圖書已經(jīng)借出,就創(chuàng)建一個不同的消息,并將鏈接設(shè)置為指向Library menu 頁面:LinkText = ”圖書已出借,返回主菜單?!?最后根據(jù)是否是管理員,顯示管理員菜單鏈接。% If Session(“Manager”)/pp=/ppthen/pp%%amp。BOOKID=%/pp RSBooks(”BOOKID“)%”管理員菜單% end if %三、達(dá)級考試在線查分系統(tǒng)與計數(shù)器的制作功能它提供了在線查看成績??忌梢栽诰W(wǎng)上使用這一系統(tǒng),通過輸入準(zhǔn)考證編號來查詢達(dá)級考試的結(jié)果。數(shù)據(jù)表的設(shè)計與評優(yōu)系統(tǒng)共用STUd表,表設(shè)計同上。界面設(shè)計與重點難點代碼的設(shè)計該模塊需要查詢者輸入準(zhǔn)考證號后來查看結(jié)果。若ID1不為空時,表示有表單輸入,開始查詢數(shù)據(jù)庫。使用 SELECT的SQL指令查詢數(shù)據(jù)庫的數(shù)據(jù)。先設(shè)定SQL指令,查詢ID符合準(zhǔn)考證編號畢業(yè)設(shè)計論文校園網(wǎng)站建設(shè)(“ID1”)的數(shù)據(jù),下個“Execute”指令,即可開始執(zhí)行存取、查詢數(shù)據(jù)的動作了。并將查詢結(jié)果儲存到Recordsets組件RS中。IF (“ID1”)“ THEN Set Conn = (”“)(”FILEDSN=c:ProgramFilesCommon FilesODBCData Sourcesms access “)SQL = ”SELECT name,id,score FROM stud WHERE id=39?!?amp。 (”ID1“)amp。 ”39?!?Set RS = (SQL)若考試通過,則顯示考試的結(jié)果,包括姓名、準(zhǔn)考證編號、總分和考試結(jié)果,分別由RecordSets 組件的RS(0)、RS(1)、RS(2)、RS(3)得到。,由“for I=0 to ”,取得RS(I)各域的數(shù)據(jù)。配合