【正文】
。這里是通過連接 access數(shù)據(jù)庫,用戶的所有信息都存放在數(shù)據(jù)庫的用戶表里面,更新的信息也通過點擊實現(xiàn)與數(shù)據(jù)庫的交互,直接修改數(shù)據(jù)庫里面相關(guān)表的內(nèi)容。都是通過連接數(shù)據(jù)庫進行修改。大部分關(guān)鍵內(nèi)容都保存在數(shù)據(jù)庫里面。 圖 用戶管理功能模塊 系統(tǒng)流程分析 本小節(jié)將對系統(tǒng)進行 流程分析。身份認證可以分為以下兩個過程: ( 1)確認用戶是否是有效的系統(tǒng)用戶。 第 1 個過程決定用戶能否進入系統(tǒng)。 本系統(tǒng)分為前臺系統(tǒng)和后臺系統(tǒng)兩個部分。 后臺系統(tǒng)的流程分析如圖 所示。 圖 后臺流程 3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計與實現(xiàn) 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)設(shè)計的優(yōu)劣將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。 設(shè)計數(shù)據(jù)庫系統(tǒng)時應(yīng)該首先充分了解系統(tǒng)需求的各個方面的需求,包括現(xiàn)有的和將來可能增加的需求。通過 收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)詞典,為后面的具體設(shè)計打下基礎(chǔ)。 新聞評論信息:包括的數(shù)據(jù)項有新聞評論編號、評論者名稱、評論時間、新聞評論內(nèi)容、新聞編號。 用戶信息:包括的數(shù)據(jù)項有用戶 編號、用戶名、用戶密碼、用戶的真實姓名、用戶電子信箱地址、用戶權(quán)限標志。 圖 數(shù)據(jù)庫 其中,新聞信息表如表 所示 ,表名: news 表 news 表 列名 數(shù)據(jù)類型 可否為空 說明 ID [整型 ] NOT NULL 新聞編號 title [文本 ] NOT NULL 新聞標題 content [備注 ] NOT NULL 新聞內(nèi)容 posterid [整 型 ] NOT NULL 發(fā)布者編號 postertime [日期時間 ] NOT NULL 發(fā)布時間 lbid [整型 ] NOT NULL 新聞類別編號 attpic [是否 ] NULL 是否有圖片 評論信息表如表 所示 ,表名: lun 表 lun 表 列名 數(shù)據(jù)類型 可否為空 說明 ID [整型 ] NOT NULL 評論編號(主鍵) poster [文本 ] NULL 評論者名稱 time [ 日期時間 ] NULL 評論時間 content [備注 ] NULL 評論內(nèi)容 newsid [整型 ] NULL 評論新聞 id 文件信息表如表 所示,表名: XWLB 表 XWLB 表 列名 數(shù)據(jù)類型 可否為空 說明 ID [整型 ] NOT NULL 類別編號 type [文本 ] NOT NULL 類別名稱 用戶表如表 所示,表名: users 表 users 表 列名 數(shù)據(jù)類型 可否為空 說明 ID [整型 ] NOT NULL 用戶編號 username [文本 ] NULL 用戶名 userpwd [文本 ] NULL 密碼 realname [文本 ] NULL 用戶 姓名 [文本 ] NULL 用戶信箱 flag [整型 ] NOT NULL 權(quán)限 4 目錄與通用模塊設(shè)計 目錄結(jié)構(gòu) 在運行實例時,需要將 復(fù)制到源程序根目錄下, 如: 目錄下包含下面三個子目錄: images 用于存儲上傳的新聞圖片。 data 存放數(shù)據(jù)庫文件。 通用模塊 本系統(tǒng)中包含一些通用模塊,這些模塊以文件的形式保存,可以在其他文件中使用 include 語句包含這些模塊,使用其中定義的功能。 的代碼如下: Dim conn DB ./data/ Set conn Provider Micro。 DB If Err Then Set conn Nothing 數(shù)據(jù)庫連接出錯,請檢查連接字串。 的功能是判斷當前用戶是否是Admin,如果不是,則中斷執(zhí)行;如果是,則不執(zhí)行任何操作,直接進入包含它的網(wǎng)頁。所以在修改和刪除新聞時,需要判斷當前用戶是否是 Admin或指定新聞的作者。根據(jù)新聞編號讀取新聞信息 set rsNews sql SELECT * FROM News WHERE Id amp。判斷用戶權(quán)限,是否可以維護新聞,管理員可以編輯所有新聞,編輯者只能修改自己 的新聞 If rsNews Poster Session UserName Then 不是 Admin 或新聞的作者,無權(quán)修改! End If End If End If % 如果當前用戶是 Admin,則 不做任何操作;否則,程序?qū)⒏鶕?jù)參數(shù) Id 讀取新聞信息,并將 Poster 字段的值與當前用戶名進行比較。 使用 可以結(jié)束網(wǎng)頁的輸出。 可以實現(xiàn)這些功能。 圖 信息設(shè)置 在使用 時,設(shè)置指定的選項,將會在新聞內(nèi)容中生成相應(yīng)的6HTML 代碼。nbsp;”,所以這里使用 [space]表示空格。 因為 的代碼較多,這里僅以字體控制的代碼為例說明。if .text! 39。 .text 39。+c+39。+ .text+39。 else mye 39。+c+39。+mye+39。 name font style 39。 OPTION selected value 宋體 宋體 OPTION value 楷體 _GB2312 楷體 OPTION value 新宋體 新宋體 OPTION value 黑體 黑體 OPTION value 隸書 隸書 OPTION value Andale Mono Andale Mono OPTION value Arial Arial OPTION value Arial Black Arial Black OPTION value Book Antiqua Book Antiqua OPTION value Century Gothic Century Gothic OPTION value Comic Sans MS Comic Sans MS OPTION value Courier New Courier New OPTION value Geia Geia OPTION value Impact Impact OPTION value Tahoma Tahoma OPTION value TimesNew Roman Times New Roman OPTION value Trebuchet MS Trebuchet MS OPTION value Script MT Bold Script MT Bold OPTION value Stencil Stencil OPTION value Verdana Verdana OPTIONvalue Lucida Console Lucida Console 在下拉菜單中,定義了系統(tǒng)支持的字體名稱,下拉菜單的值與字體名稱相同。 This 表示字體下拉菜單, this. selectedlndex 表示當前選擇的菜單項目索引, [].value 則表示選擇下拉菜單的值,程序?qū)⑵浔4孀兞?C 中。 font[space]face 39。 39。 39。 如果沒有選擇字符,則在輸入新聞內(nèi)容的文本域中直接加入字體標識,可以在 和 之間添加相應(yīng)的文字,代碼如下: mye 39。+c+39。+mye+39。 5 系統(tǒng)功能與主要模塊設(shè)計 數(shù)據(jù)庫連接設(shè)計 本主界面為 ,它的功能是顯示新聞類別和每個類別中的 10 條新聞,并提供進入管理界面 的鏈接。 下面介紹 的主要代碼。顯示所有新聞類別供點擊,點擊不同類別顯示該類別的新聞 39。顯示所有新聞類別鏈接 Do While Not stitle rsCate CateName cid rsCate CateId 39。TEXTDECORATION: none。 % stitle% % Loop % a href 39。 font color red 新聞查詢 a href font color red style 39。 新聞管理 table align center width 100% cellspacing 0 cellpadding 0 border 0 td width * valign TOP % 39。依次顯示每個新聞類別中最新的 10 條新聞 DO WHILE Not stitle rsCate CateName cid rsCate CateId 39。生成表格 tablewidth 39。cellspacing 1 cellpadding 2 39。cidamp。顯示新聞類別標題 stitle + 39。100%39。按提交時間的降序顯示新聞標題 sql SELECT * FROM NewsWHERECateId amp。ORDERBY Posttime DESC sql, conn, 1, 1 DO WHILE Not 39。只顯示 10 條新聞 If t 11 Then Dim ndate ndate DateAdd d,3,date 39。50%39。returnnewwin 。 href 39。 + rs Title + 39。3 天內(nèi)新聞標記 new 圖片 If datediff d, rs Posttime , ndate+time 0 Then img SRC 39。 ALT 39。border 0 End If 39。20%39。設(shè)置返回頂部鏈接,跳轉(zhuǎn)到書簽 top palign right ahref top 39。_self39。?flag +CStr cid + 39。如果新聞類別較多,則網(wǎng)頁會被拉長,使閱讀不便。例如,類別編號為 1 的新聞類別的書簽名稱為 al。這樣,就可以通過單擊鏈接直達新聞類別了。顯示所有新聞類別供點擊,點擊不同類別顯示該類別的新聞 39。顯示所有新聞類別鏈接 Do While Not stitle rsCate CateName cid rsCate CateId 39。TEXTDECORATION:none。 % stitle%