版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、報(bào)刊n閱管理系統(tǒng)的開發(fā)與實(shí)現(xiàn)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)號(hào):姓名:課程設(shè)計(jì)名稱:數(shù)據(jù)庫原理及應(yīng)用設(shè)計(jì)題fh 報(bào)刊訂閱筲理系統(tǒng)的設(shè)il勺實(shí)現(xiàn)完成期限:自2009年12月14 fi至一 2009 年12 月27 f1共 2 周 設(shè)計(jì)依據(jù)、要求及主要內(nèi)容(可另加附頁):本系統(tǒng)主要面向的用戶有系統(tǒng)管理員、讀者。下面分角色對(duì)該系統(tǒng)的不同操作 范圍做說明,主要有以下功能模塊:(1)登陸功能:登陸系統(tǒng)為身份驗(yàn)證登錄。分為管理員登錄和一般用戶登錄。 分別通過不同的用戶名和密碼進(jìn)入報(bào)刊訂閱管理界面。(2)錄入新信息功能:對(duì)于管理員,包括新用戶信息和新報(bào)刊信息的錄入功能, 信息一旦提交就存入到后臺(tái)數(shù)據(jù)庫中;普通用戶
2、自行注冊(cè)進(jìn)行錄入個(gè)人信息。(3)訂閱功能:用戶可以訂閱報(bào)刊,系統(tǒng)口動(dòng)計(jì)算所需金額,并顯示在界面上; 管理員不可訂閱報(bào)刊,必須以用戶身份訂閱報(bào)刊。(4)查詢功能:用戶可以查詢并顯示占己所訂閱的信息;管理員可以按人員、 報(bào)刊、部門分類查詢。查詢出的信息顯示在界面上。(5)統(tǒng)計(jì)功能:管理員可以按用戶、部門、報(bào)刊統(tǒng)計(jì)報(bào)刊的銷售情況,并對(duì)一 些重要的訂閱信息進(jìn)行統(tǒng)計(jì);普通用戶可以統(tǒng)計(jì)出h己的訂閱情況。(6)系統(tǒng)維護(hù)功能:管理員可以對(duì)用戶、報(bào)刊、部門、訂閱等信息進(jìn)行添加、 刪除、更改等維護(hù)工作;用戶可以更改口己的注冊(cè)信息,但用戶名不能更改。指導(dǎo)教師(簽字): 教研室主任(簽字):批準(zhǔn)fi期:年 月 日摘要
3、本系統(tǒng)是一個(gè)而向于企業(yè)的報(bào)刊訂閱管理系統(tǒng)。系統(tǒng)是智能化的管理系統(tǒng),它 面向所有企業(yè)部門的職工用戶,但具有安全性能。它能夠?qū)崿F(xiàn)報(bào)刊訂閱的基本功能, 包括新報(bào)刊信息的登錄、錄入、訂閱、杏詢、統(tǒng)計(jì)等操作。用戶合法注冊(cè)后必須輸 入冇效密碼才能成功進(jìn)入此系統(tǒng),可以進(jìn)行訂閱報(bào)刊,查詢信息,統(tǒng)計(jì)信息等操作。 對(duì)于非法操作,系統(tǒng)有識(shí)別和防護(hù)措施。訂閱信息處理的特點(diǎn)是訂閱信息處理量比較大,所管理的倍息倍息種類繁多,而 且訂閱單、編輯單的發(fā)牛量特別大,關(guān)聯(lián)信息多,查詢和統(tǒng)計(jì)的方式各不相同。因此 在管理上實(shí)現(xiàn)起來有一定因難。系統(tǒng)在設(shè)計(jì)過程中,為了克服這些因難,需要使程序代碼標(biāo)準(zhǔn)化,軟件統(tǒng)一化,確 保軟件的町維護(hù)性和
4、實(shí)用性;刪除不必耍的管理冗余,實(shí)現(xiàn)管理規(guī)范化、科學(xué)化;界 而友好、簡單化,做到實(shí)用、方便,盡量滿足報(bào)刊訂閱中員工的需要。關(guān)鍵詞:power bui 1 der; microsoft sql server 2000;錄入;查詢;統(tǒng)計(jì);訂閱;1系統(tǒng)需求分析611信息需求分析61.2業(yè)務(wù)流程分析61.3功能需求分析81.4數(shù)據(jù)流圖81.5數(shù)據(jù)字典112系統(tǒng)設(shè)計(jì)132. 1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) 132.2數(shù)據(jù)庫概念設(shè)計(jì)132. 3數(shù)據(jù)庫邏輯設(shè)計(jì)152.4數(shù)據(jù)庫物理設(shè)計(jì) 173系統(tǒng)實(shí)現(xiàn)與測(cè)試193.1數(shù)據(jù)庫連接193. 2模塊功能實(shí)現(xiàn)203.2. 1菜單的實(shí)現(xiàn)203.2.2登錄模塊的實(shí)現(xiàn)213.2.3錄入信
5、息模塊的實(shí)現(xiàn)243.2.4查詢信息模塊的實(shí)現(xiàn)253.2.5統(tǒng)計(jì)信息模塊的實(shí)現(xiàn)283.2.6訂閱報(bào)刊模塊的實(shí)現(xiàn)293.2.7更改信息的實(shí)現(xiàn)323. 3系統(tǒng)測(cè)試34總結(jié)41參考文獻(xiàn)421. 系統(tǒng)需求分析1.1信息需求分析1.3.1資料收集:業(yè)務(wù)流程屮用到的相關(guān)單據(jù)主要是報(bào)刊信息還有訂單信息 報(bào)刊信息表:報(bào)刊代號(hào)46-250報(bào)刊名稱1t時(shí)代周刊出版報(bào)社科技出版社出版周期半月刊每刀定價(jià)10.00元/刀分類編號(hào)1001報(bào)刊介紹it吋代周刊是一本深刻解讀信息吋代商業(yè)變革的雜志。除深度報(bào) 道信息產(chǎn)業(yè)的重人新聞外,還報(bào)道金融、汽車、股市、零偉等傳統(tǒng)行 業(yè)利用tt提升商業(yè)與管理的新聞。tt時(shí)代周刊以調(diào)查見深度;
6、以 商業(yè)故事見功力。是ce0/ci0/cf0以及政府官員、商業(yè)領(lǐng)袖首選刊物。訂單信息表:訂單編號(hào)報(bào)刊代號(hào)用戶編號(hào)訂閱日期訂閱月數(shù)份數(shù)操作300346-20532062008-7-1訂一月1取消訂閱300426-30631082008-7-8訂半年2取消訂閱300572-31031002008-7-9訂一年1取消訂閱300645-21425412008-7-10訂孕1取消訂閱12業(yè)務(wù)流程分析:本系統(tǒng)主耍面向的用戶有系統(tǒng)管理員、讀者。卜-面分角色對(duì)該系統(tǒng)的不同操作范圍 做說明。下圖為該系統(tǒng)的業(yè)務(wù)流程圖報(bào)刊訂閱管理系統(tǒng)糸統(tǒng)允管理員選擇報(bào)川j信息數(shù)據(jù)存儲(chǔ)算帳權(quán)限設(shè)確認(rèn)下訂訂巾査詢1.3功能需求分析本系
7、統(tǒng)的主要結(jié)構(gòu)功能圖如k:(1) 登陸功能:登陸系統(tǒng)為身份驗(yàn)證登錄。分為管理員登錄和一般用戶登錄。 分別通過不同的用戶名和密碼進(jìn)入報(bào)刊訂閱管理界面。(2) 錄入新信息功能:對(duì)丁管理員,包括新用戶信息和新報(bào)刊信息的錄入功能, 信息一旦提交就存入到后臺(tái)數(shù)據(jù)庫中;普通用戶口行注冊(cè)進(jìn)行錄入個(gè)人信息。(3) 訂閱功能:用戶可以訂閱報(bào)刊,系統(tǒng)自動(dòng)計(jì)算所需金額,并顯示在界面上; 管理員不可訂閱報(bào)刊,必須以用戶身份訂閱報(bào)刊。(4) 杳詢功能:用戶可以杏詢并顯示白己所訂閱的信息;管理員可以按人員、 報(bào)刊、部門分類杳詢。查詢出的信息顯示在界面上。(5) 統(tǒng)計(jì)功能:管理員可以按用戶、部門、報(bào)刊統(tǒng)讓報(bào)刊的銷售情況,并對(duì)
8、一 些重姿的訂閱信息進(jìn)行統(tǒng)計(jì);普通用戶可以統(tǒng)計(jì)出自己的訂閱情況。(6) 系統(tǒng)維護(hù)功能:管理員可以對(duì)用戶、報(bào)刊、部門、訂閱等信息進(jìn)行添加、 刪除、更改等維護(hù)工作;用戶可以更改口己的注冊(cè)信息,但用戶名不能更改。1.4數(shù)據(jù)流圖金詢請(qǐng)求介詢 結(jié)果圖162系統(tǒng)1層圖系統(tǒng)2層圖圖1.6.4系統(tǒng)3層圖神時(shí)x 亠 xi出錯(cuò)處理訂閱更改訂閱請(qǐng)求增刪改用戶信息錄入請(qǐng)求維護(hù)請(qǐng)求增刪改訂單信息.錄信s7圖165系統(tǒng)4層圖1.5數(shù)據(jù)字典(1)數(shù)據(jù)結(jié)構(gòu)竹理員用戶=管理員帳戶+竹理員密碼訂戶二訂戶編號(hào)+訂戶名+聯(lián)系電話+聯(lián)系地址日錄二目錄編號(hào)+日錄名+單價(jià)+批注信息訂單二訂單號(hào)+訂戶編號(hào)+下訂日期訂單細(xì)節(jié)二訂單號(hào)+h錄編號(hào)
9、+訂閱數(shù)量+訂閱期數(shù)+單價(jià)+總價(jià)(注:為保證訂單確定后價(jià)格不隨目錄單價(jià)變動(dòng),訂單細(xì)節(jié)中應(yīng)該有獨(dú)立的單 價(jià)來記錄卜訂時(shí)目錄的單價(jià))(2)數(shù)據(jù)項(xiàng)表2.1 數(shù)據(jù)項(xiàng)表編號(hào)標(biāo)識(shí)符類型長 度所屈表名同義名1anamevarchar20administrator管理員帳戶2apasswordvarchar20administrator管理員密碼3unamevarchar20consumer訂戶名4uphonevarchar15consumer聯(lián)系電話5uaddressvarchar50consumer聯(lián)系地址6magazine na mevarchar20magazine目錄名7wholpricefloat
10、8magazinesubscrible目錄單價(jià), 下訂時(shí)冃錄單價(jià)8snumint4subscribe訂閱數(shù)量9subscribenumint4subscribe訂閱期數(shù)10snumfloat8subscribe訂單項(xiàng)總價(jià)(3)數(shù)據(jù)流編號(hào)名稱來源去向組成1身份信息系統(tǒng)管理員應(yīng)用系統(tǒng)管理員帳戶+密碼2授權(quán)信息應(yīng)用系統(tǒng)系統(tǒng)管理員3錯(cuò)謀身份信息應(yīng)用系統(tǒng)系統(tǒng)管理員4查詢請(qǐng)求系統(tǒng)管理員應(yīng)用系統(tǒng)待查詢對(duì)象識(shí)別符(如cid,ono)5杏詢結(jié)果應(yīng)用系統(tǒng)系統(tǒng)管理員被杳詢對(duì)象具體信息6悖理請(qǐng)求系統(tǒng)管理員應(yīng)用系統(tǒng)識(shí)別符(cid, ono等)+類型7悖理結(jié)果信息應(yīng)用系統(tǒng)系統(tǒng)管理員被管理對(duì)彖處理結(jié)果8非法請(qǐng)求應(yīng)用系統(tǒng)系統(tǒng)
11、管理員非法請(qǐng)求提示信息表2.2數(shù)據(jù)流表2系統(tǒng)設(shè)計(jì)21系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)系統(tǒng)功能結(jié)構(gòu)圖如卜圖所示:用戶圖2.1.1系統(tǒng)功能結(jié)構(gòu)圖2. 2數(shù)據(jù)庫概念設(shè)計(jì)基木項(xiàng)構(gòu)思erd的四條基木原則: 原則1 (確定實(shí)體):能獨(dú)立存在的事物,例如人、物、事、地、團(tuán)體、機(jī)構(gòu)、 活動(dòng)、事項(xiàng)等等,在其有多個(gè)由基本項(xiàng)描述的特性需耍關(guān)注吋,就應(yīng)把它作為實(shí)體。 原則2 (確定聯(lián)系):兩個(gè)或多個(gè)實(shí)體間的關(guān)聯(lián)與結(jié)合,如主管,從屬,組成, 占有,作用,配合,協(xié)同等等,當(dāng)需耍予以關(guān)注時(shí),應(yīng)作為聯(lián)系。實(shí)體間的聯(lián)系可 分為一對(duì)一、一對(duì)多、多對(duì)多等三類,在確定聯(lián)系時(shí)還要確定其類型。 原則3 (確定屬性):實(shí)體的屬性是實(shí)體的本質(zhì)特征。實(shí)體應(yīng)冇
12、標(biāo)識(shí)屬性(能 把不同個(gè)體區(qū)分開來的屬性組),并指定其中一個(gè)作為主標(biāo)識(shí)。聯(lián)系的屬性是聯(lián)系的 結(jié)果或狀態(tài)。 原則4 (-事一地):信息分析中得到的基本項(xiàng)要在且僅在實(shí)休聯(lián)系圖屮的一 個(gè)地方作為屬性出現(xiàn)。經(jīng)過上述系統(tǒng)功能分析和需求總結(jié),設(shè)計(jì)如下面所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)。 管理員表(administrator):用于存放管理員的數(shù)據(jù)記錄,包括數(shù)據(jù)項(xiàng):管理員名、密碼。 部門表(department):用來存放部門的相關(guān)記錄,包括數(shù)據(jù)項(xiàng):部門號(hào),部 門名。 用戶表(consumer):用于存放注冊(cè)用戶的記錄,包括數(shù)據(jù)項(xiàng):用戶賬號(hào)、密 碼、真實(shí)姓名、身份證號(hào)、聯(lián)系電話,聯(lián)系地址,部門號(hào)(和部門表有關(guān))籌。 報(bào)
13、刊信息表(nkigazine):用于存放報(bào)刊記錄,包括數(shù)據(jù)項(xiàng):報(bào)刊代號(hào)、報(bào)刊 名稱、出版報(bào)社、出版周期、季度報(bào)價(jià)、內(nèi)容介紹、分類編號(hào)(和報(bào)刊類別表 有關(guān))等。 訂單表(subscribe):用于存放用八下達(dá)的訂閱報(bào)刊的基本信息,包括數(shù)據(jù)項(xiàng):訂單編號(hào)、用戶編號(hào)(用戶表的主碼)、用戶賬時(shí)密碼、'、丁1j部門號(hào)l”/用戶報(bào)刊代號(hào)(報(bào)刊信息表的主碼)、訂閱,報(bào)刊代號(hào)報(bào)刊名稱:'一 分類編號(hào)聯(lián)系地址、身份證號(hào)、験系電話份數(shù)、訂閱刀數(shù)等。報(bào)刊信息:出版報(bào)社;4/-、二/k內(nèi)容介紹ii版周期:j季度報(bào)價(jià)/v/部門號(hào)部門名、一一/、»用戶實(shí)體的e-r圖如下圖所示: 示:備理員名 密碼
14、、一一/、一一"報(bào)刊信息實(shí)體的e-r圖如下圖所根據(jù)上血的設(shè)計(jì)規(guī)劃出來的實(shí)體有部門實(shí)體、管理員實(shí)體、用八實(shí)體、報(bào)刊信 息實(shí)體和訂單實(shí)體。管理員實(shí)體的e-r圖如下圖所不:部門實(shí)體的e-r圖如下圖所示:訂單實(shí)體的e-r圖如下圖所示:j u u u、一/d dzu u u u /、一、巾 u u 11、j 、4 u u u、-0u、x分類編號(hào)、分類名稱、- 丿 、- /所有實(shí)體之間的的關(guān)系e-r圖如下圖所示:部門理員處理m訂閱j1數(shù)訂單編號(hào)用廣賬號(hào)訂單報(bào)刊代號(hào)訂閱份數(shù)訂制im分類編號(hào)報(bào)刊類別包含內(nèi)容介紹李度訂價(jià)聯(lián)糸電詁2. 3數(shù)據(jù)庫邏輯設(shè)計(jì)(1) 一般邏輯模型設(shè)計(jì)關(guān)系模型的邏輯結(jié)構(gòu)是組關(guān)系模
15、式的集合。將e-r圖轉(zhuǎn)換為關(guān)系模型就是要將實(shí)體型、實(shí)體的屬性和實(shí)體型之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。由erd導(dǎo)出-般關(guān)系模型的四條原則; 一個(gè)1: 1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān) 系模式合并。如果軟換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及 聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。如果與 某一端實(shí)體對(duì)應(yīng)的關(guān)系模式何明,則需要在該關(guān)系模式的屬性屮加入另一個(gè)關(guān)系模 式的碼和聯(lián)系本身的屬性。 一個(gè)1: n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模 式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系 本
16、身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實(shí)體的碼。 一個(gè)m: n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系木 身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實(shí)體的碼組成關(guān)系的碼或關(guān)系碼的一部分。 3個(gè)或3個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系可以轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián) 系項(xiàng)鏈呢的各實(shí)體的碼以及聯(lián)系木身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實(shí)體的碼組成 關(guān)系的碼或關(guān)系碼的一部分。根據(jù)以上原則將e r圖轉(zhuǎn)換成的關(guān)系模式如下:部門(部門號(hào),部門名稱)用戶(用八賬號(hào),密碼,用八真實(shí)姓名,聯(lián)系電話,聯(lián)系地址,|部門號(hào)|)管理員(管理員名,密碼)報(bào)刊類別(分類編兮,分類名稱)報(bào)刊(報(bào)刊代號(hào),報(bào)刊名稱,出版報(bào)社,出版周
17、期,每刀訂價(jià),內(nèi)容介紹,|分類編訂單(i用八鈕麗祀可,訂閱份數(shù),訂閱刀數(shù),訂閱總額)(2)具體邏輯模型設(shè)計(jì)在sql server2000數(shù)據(jù)庫中,首先創(chuàng)建報(bào)刊訂閱悖理系統(tǒng)數(shù)據(jù)庫,然后根據(jù)數(shù) 據(jù)庫的邏輯結(jié)構(gòu)分析創(chuàng)建表41一46的6張數(shù)據(jù)表。在前臺(tái)訪問數(shù)據(jù)庫階段設(shè)置了 用戶和密碼,用戶為sa,密碼為空。表4-1 department部門表結(jié)構(gòu)字段名稱字段類型允許空說明dnumber (主碼)char (10)否部門號(hào)dnamechar(50)否部門名稱表4-2 consumer用戶表結(jié)構(gòu)字段名稱字段類型允許空說明uname (主碼)char (10)否用戶帳號(hào)upasswordchar (20)是
18、真實(shí)姓名urealnamechar(10)否用戶密碼usexchar(150)是用戶聯(lián)系地址uphonechar (20)是用戶聯(lián)系電話uaddresschar(10)否用戶所屬部門號(hào)subscribenumchar(10)否訂閱數(shù)量表4-3 magazine報(bào)刊表結(jié)構(gòu)字段名稱字段類型允許空說明mnumber (主碼)char (10)否報(bào)刊代號(hào)mnamechar(40)否報(bào)刊名稱mkindint (4)否報(bào)刊分類mpresschar (10)否出版報(bào)社mtimechar (30)否出版日期mhalfpricechar (10)否半年定價(jià)mwholefloat(8)否全年定價(jià)表4 4 subs
19、cribe訂單表結(jié)構(gòu)字段名稱字段類型允許空說明uname (主碼)char (10)否用戶帳號(hào)mnumber (主碼)char (10)否報(bào)刊代號(hào)syearint (4)否訂閱份數(shù)snumbertnt (4)否訂閱刀數(shù)ssumfloat (8)是訂閱總額表4-5 adminuser管理員表結(jié)構(gòu)字段名稱字段類型允許空說明aname (主碼)char(10)否管理員用戶名apasswordchar(10)否管理員密碼2.4數(shù)據(jù)庫物理設(shè)計(jì)(1) 索引的選擇建立由于系統(tǒng)可能要涉及大量數(shù)據(jù)的操作,所以索引的建立就成為一種必需。本系 統(tǒng)采用b+樹索引方法,分別在各consumer, magazine_qu
20、ery, consumerstat 和 query_depat各個(gè)表的主鍵上建立關(guān)系表。(2) 數(shù)據(jù)存放位置本系統(tǒng)數(shù)據(jù)和索引存放在磁盤中。(3) 確定系統(tǒng)配置根據(jù)具體需要配置。(4) 模塊設(shè)計(jì)登陸模塊圖2.4.1登陸模塊ipo圖管理功能模塊圖242管理功能模塊ipo圖查詢功能模塊圖2.4.3查詢功能模塊ipo圖3系統(tǒng)實(shí)現(xiàn)與測(cè)試3.1連接數(shù)據(jù)庫的實(shí)現(xiàn)打開powerbui ider,新建一個(gè)magazine,新建一個(gè)application,取名 magazine, 然后點(diǎn)擊工具欄上的db profile,新建一個(gè)mss microsoft sql server,填入profile name,服務(wù)器
21、名,用戶名,密碼,數(shù)據(jù)庫,如下圖:連接數(shù)據(jù)庫:+database - 1 connection: (active connein stalled database interfaces ,dir direct connect fl in9 informix v9.x fl jdb jdbcmss microsoft sql server -i-(b i + i + i + i + i + i +口 groups logins metadata typesi1 procedures & functions tablesi1 users 口 views+侖 utilities 073 or
22、ade 7.3 084 orade8/8i 090 oracle 9.0.1 odb odbc syc sybase ase syj sybase ase for easerver然后輸入連接數(shù)據(jù)庫的主要代碼:/ profile報(bào)刊訂闔管理系統(tǒng)sqlca.dbms = e,mss microsoft sql seruerfisqlca.database二"報(bào)刊訂閱管理系統(tǒng)"sqlca.logpass = 5"sqlca.seruernane = iiwww-3cf0657cd97lisqlca.logld = -sa11sqlca.autoconnit = fal
23、sesqlca.dbparm = bii,connect using sqlca;|if sqlca.sqlcode <>0 then messageboxc 不能連接上數(shù)據(jù)庫!",sqlca .sqmrrtext) returnelsenessageboxc報(bào)刊訂閱管理系統(tǒng)數(shù)據(jù)庫己經(jīng)連接上,歡迎使用") end if/close(w welcome)open(w_welcome)3. 2模塊功能實(shí)現(xiàn)3. 2. 1菜單的實(shí)現(xiàn)(1)制作管理員主菜單w_adminview,建管理員主界而w_mainmonu,將該菜單 放到窗口中(2)制作用戶主菜單w_consume
24、r,建用戶主界® w_consumermain,將菜單放到 窗口中3. 2. 2登錄模塊的實(shí)現(xiàn)(1)制作登錄頁面wjoginl,在“確定”按鈕輸入如下:string ls_user,ls_pwds_id=trim(sle_1.text)connect using sqlca;if.tiexty thenmessagebox("pap attention?廠用戶名不可為空!")sle_1.setfocus()elseif sle_2thenmessagebox('gpap attention?","密碼不可為空i ") sle_
25、2.setfocus()elseg_user=sle_1 -text把輸入框中的內(nèi)容賦給定義的變量g_pwd=sle_2.text/g_id=sle_id.textselect unane,upassword條件查詢語句sql語言into :ls_user,:ls_pwdfrom consumerwhere uname=:s_id;if g_user=trim(ls_user) and g_pwd=trin(ls_pwd) then open(w_consunerinain) "用戶登錄 close(w_login1)else g_input_tine=g_input_time+1&
26、quot;登錄次數(shù)限制if g_input_time>3 theniiessagebo*訓(xùn)廿nning?廠密碼輸入錯(cuò)誤超過三次!") close(w_login1) close(w_welcome)elseiiessagebox兩rnning?,用戶名或密碼輸入有誤!) sle_1.text=,i sle22.text=,<end ifend ifend if“注冊(cè)”按鈕代碼:open(忙enroli)打開用戶注冊(cè)頁面“退出”按鈕代碼:close (w_loginl)退出木系統(tǒng)(2)制作注冊(cè)窗口 w_registor,在“注冊(cè)”按鈕的代碼如下:connect using
27、sqlca; nane=trin(sle_1.text) password=trin(sle_2.text) copypassword=trin(sle_8.text) realnane=trin(sle_4.text) if rb 1 .checked=true thensex=a,男"elseif rb_2.checked=true thensex=-iiend ifnumber=trim(sle-5.text) phone=trin(sle_6.text) address=trim(sle_7.text) if nane=iiib or nane=b' thenmess
28、ageboxc*系統(tǒng)提示“,對(duì)不起?請(qǐng)輸入用戶名!否則無法注冊(cè)?“) sle_1.setfocus() returnend ifselect unameinto :nfrom consumerwhere uname=:name;if sqlca.sqlcode=0 thenmessageboxc-統(tǒng)提示對(duì)不起,此用戶名己被注冊(cè)?請(qǐng)另選一個(gè)試試宀 sle_1.text=,i returnend ifif passwory,or password=' ' thenmessagebox(-系統(tǒng)提示”對(duì)不起?請(qǐng)輸入登錄密碼!否則無法注冊(cè) sle_2.setfocus()returnen
29、d ifif copypassword=i,i or copipassword= 1 - thenmessagebox(-系統(tǒng)提示"對(duì)不起?請(qǐng)?jiān)俅屋斎氲卿浢艽a!否則無法注冊(cè)嚴(yán))sle_8.setfocus()returnend ifif passviordocopypassword thenmessagebox系統(tǒng)提示"對(duì)不起?兩次輸入密碼必須一致!否則無法注冊(cè)v)sle 8setfocus()returnend ifif realname=,ib, or realnane=i 1 thenmessageboxc*系統(tǒng)提示”,對(duì)不起?請(qǐng)輸入真實(shí)姓名!否則無法注冊(cè)嚴(yán))sle_
30、4.setfocus()returnend ifif nunber=,1-1 or nunber= * * thenmessagebox(-系統(tǒng)提示1對(duì)不起?請(qǐng)輸入部門號(hào)!否則無法注冊(cè)?tsle_5.setfocus()returnend ifselect dnunberinto :nunberlfron departmentwhere dnumber=:numberusing sqlca;if sqlca.sqlcodeoo thenmessagebox(-警告“您輸入的部門號(hào)無效?無此部門汁)sle_5.text=,f,sle_5.setfocus()returnend ifinsert
31、into consumer(uname,upassword,urealname,usex,dnumber,uphone,uaddress,subscribenun)ualues(:name,:password9:realname,:sex,:number,:phone,:address90); messagebox(ib系統(tǒng)提示"恭喜!注冊(cè)成功!")open(w consumermain)close(w enroll)"取消"按鈕代碼:close(w register)open(w_login)3. 2. 3錄入信息模塊的實(shí)現(xiàn)(1)制作管理員主菜單里的錄
32、入報(bào)刊信息窗口 w_inputmagazine,錄入用戶信息窗口 winputconsumer,int b selectstring num9nameconnect using sqlca;if di«)n3meib_2" then b_select=nessagebox(-b系統(tǒng)提示"確定刪除所選列? 11,exclamation? ,yesno?) if b_select=1 thendw_1.deleterow(0)end ifend ifif dwo.nane=,b_1,i thendw_1.insertrow(0)end ifif dwon3mwb_3&
33、quot; thendw_1.update()if sqlca.sqlcodeoo thenrollback;messageboxl操作非法! 無法保存! ”); returnelsecommit;nessagebox(-系統(tǒng)提示"信息保存成功嚴(yán)) returnend ifend ifif dwo.nane=i,b_4,b then close (vjinputmagazine) end if(2)制作數(shù)據(jù)窗口 d_consumer, d_magazien在數(shù)據(jù)窗口調(diào)整好外觀,添加控件, 并設(shè)定相應(yīng)的動(dòng)作,分別放到這兩個(gè)窗口中這兩個(gè)窗口功能相識(shí),在窗口中輸入:dw 1.settran
34、sobject (sqlca)dw_ 1 retrieve()dw_2 settransobject(sqlca)dw_2 retrieve ()d.magazien (app) (c:doojments and settingsadministrator哀面 資料 報(bào)刊訂閱笞理系蜒a(bǔ)pp.pb!) data window3. 2. 4查詢信息模塊的實(shí)現(xiàn)制作管理員主菜單屮的杳詢訂閱信息窗口 w_searchorder,制作數(shù)據(jù)窗i i dw booksearch,將其放入窗體中,在窗口中輸入代碼:dw_l. settransobject(sqlca)dw_l. retrieve ()sle 1
35、. setfocus()在“檢索”按鈕屮輸入代碼:string number9namelong ll_rowconnect using sqlca;number=trim(sle_1.text)if number=biii or nurnber=* * thenmessageboxf統(tǒng)提示廠請(qǐng)輸入報(bào)刊號(hào)汁) return end ifselect mnumber9mname into :number,:name from magazien where mnumber=:number; if sqlca .sqlcodeoo thenmessageboxc'系統(tǒng)提示廠無此報(bào)刊評(píng))sle_
36、1.text=iiiireturnend ifsle_2.text=namedw_1 setfilter (l,nagazine_nnuinber=11/dw_1 .setfilter(llll*nuinber+1111) dw_1.filter(yll_row=dw_1.retrieue()if ll_row=0 thenmessagebox(m系統(tǒng)提示”廠無記錄嚴(yán)) returnend if“返回”按鈕代碼: open(w_ma in) close(w_magaz i nc_query) 數(shù)據(jù)窗口字段 如下圖:d_magazine_query (app) (c:documents and
37、settingsadministrator桌面資料 報(bào)刊訂閱笞理系統(tǒng) app.pbl(2)按用戶查詢,按鈕代碼如下:string copynumber9namelong ll_rowname=trim(sle_1.text)if name=>>>> or name=' 1 thennessageboxc*系統(tǒng)提示“ j請(qǐng)輸入用戶名? “) return end ifselect unameinto :namefrom consumerwhere uname=:name;if sqlca.sqlcode<>0 thenmessageboxt"
38、系統(tǒng)提示無此用戶? sle_1.text=1111 returnend if/sle_2.text=namedw_1. setfilter (ilconsuner_unane=1 ib+name+ )|/dw_1 setfilterc+number )dw_1filter()ll_row=dw_1.retrieue()if ll_row=0 then messagebox("統(tǒng)提示“j此用戶未訂閱報(bào)刊? returnend if返回代碼如下: open(w_main) close(w_consumer_ruery) 數(shù)據(jù)窗口字段如下:(3)用戶主菜單的查詢訂單窗口 w_consume
39、r_query ,將訂單査找 d_consumor_ruery_c放到窗口里,在窗口中過過濾器篩選中用八自己的訂單信息, 一打開就可以看到白己的訂單信息,窗口代碼:script cb_1 for clicked returns longb_1二| | el clicked () returns long pbm_bnclickedstring copnumber9namelong ll_rownane=trini(sle_1 .text)if namw or nane=, " then messagebox(-系統(tǒng)提示"j請(qǐng)輸入用戶名嚴(yán)) returnend ifselec
40、t unameinto :namefrom consumer|where uname=:name;if sqlca.sqlcode<>0 then messageboxt"系統(tǒng)提示"無此用戶嚴(yán)) sle_1.text=ibbb returnend if/sle_2.text=nanedw_1 .setfilter(b,consunier_unanie=1 bb+nanie+)/dw_1 setfilter(""+nuinber+"")dw_1.filter(yll_row=dw_1.retrieue()if ll_row=
41、0 then messageboxf系統(tǒng)提示"j此用戶未訂閱報(bào)刊嚴(yán)) returnend if用戶統(tǒng)計(jì)d consumer query c數(shù)據(jù)窗口如下:用戶查詢atodayov用戶名報(bào)刊號(hào)報(bào)刊名稱訂閱飜 數(shù)量header tconsumer_uname1: header group consumer unsmetmagazj ne_mnumbe magazi ne_mn am( subscribe_syear subscribe_sndtuilt1: trailer group con9umer uname jsunwury 1'page 1 + page!) ' o
42、*4 |_j>3. 2. 5統(tǒng)計(jì)信息模塊的實(shí)現(xiàn)(1)制作管理員主菜單中的統(tǒng)計(jì)用戶訂單窗口 w_stat_consumer,統(tǒng)計(jì)部門訂單 窗口 w stat department,統(tǒng)計(jì)報(bào)刊訂單窗口 w statconsumer:制作統(tǒng)計(jì)數(shù)據(jù)窗口 d_consumer_stat , dquerydept , wstat_magazine,將 d_consumer_stat , d_query_dept, w_stat_magazine 分別放入 w_stat_consumer, w_stat_department, w_statconsumer中;以下僅列出按出按部門統(tǒng)計(jì)的代碼和界面(按用戶
43、、報(bào)刊統(tǒng)計(jì) 類似,略);按部門統(tǒng)計(jì)代碼:窗口代碼:按部門統(tǒng)計(jì)數(shù)據(jù)窗口:dw_l. settransobject(sqlca)dw_l. retrieve()預(yù)覽鍵代碼:(與上頁預(yù)覽代碼相同)退出:close (parent)3. 2. 6訂閱報(bào)刊模塊的實(shí)現(xiàn)(1)用戶主菜單的訂閱報(bào)刊窗口 w_userorder該系統(tǒng)小定義了一個(gè)全局變量gs.userid,其它窗口界面都可以使用該變量,并顯 示用戶名,用戶登錄后,它會(huì)顯示歡迎使用木系統(tǒng)!”的歡迎界血。窗口代碼:dw_l. settransobject(sqlca)dw_l. retrieve ()sle 1. setfocus ()sle_2.
44、text=gs_userid“清空”按鈕代碼:sle_1. text二"sle_3. text=""sle 5. text二"“退出”按鈕代碼:close(wuserorder)“提交”按鈕代碼: cb_1 for clicked returns longstring string| |囪 clicked () returns long pbmbnclicked |name,password ,nagazinenun,magazinenaine,num,ctime ,nunber ,money/4x gs_nane »gs_passworddo
45、uble year int nunb,kindnumdouble halfprice,wholeprice,sumnoney string num1vnane1name=trim(sle_1 .text)/ 將輸入框中賦值 password=trin(sle 5 nagazinenum=trin(sle_2.text)| nagazinenane=trin(sle_6.text) ctine=trim(sle_3.text) number=trim(sle_4.text)所有輸入框不充許為空if nane=l,b, or name=*1 thennessageboxc1系統(tǒng)提示"j對(duì)
46、不起?請(qǐng)您輸入用戶名汁) return end ifif password=i,i, or password3" 1 thennessageboxc-系統(tǒng)提示"對(duì)不起?請(qǐng)您輸入密碼") return end ifif magazinenane=i-,i or magazinename31 1 thenroessaggbox系統(tǒng)提示"對(duì)不起?請(qǐng)輸入報(bào)刊名稱! returnend ifif nagazinenum=i,i- or magazinenum=' 1 thennessageboxc*系統(tǒng)提示"對(duì)不起?請(qǐng)您輸入報(bào)刊號(hào)匚 return
47、end ifif ctine=l,m or ctime='' thennessagebox(-統(tǒng)提示対不起?請(qǐng)您輸入訂閱年限?treturnend ifif nunber=>>li or number=> 1 thennessageboxc1系統(tǒng)提示“j對(duì)不起?請(qǐng)您輸入數(shù)量計(jì)) returnend ififor ctine=,b,b or ctirne=,b0.0" or ctine=,0.00" thenmessageboxc1系統(tǒng)提示“請(qǐng)輸入有效數(shù)字? ”) sle_3.text=bii,returnelseif ctime=,b0.5
48、b, thenyear=0.5 elseif ctine=,b1m or ctime=,1.0m thenyear=1 0elseif ctine=,b1.5bi thenyear=1.5 elseifor ctine=,'2. o* thenyear=2 0 elseif ctine=,b2.5i, thenyear=2.5elseif ctine=,b3" or ctine="3.0" thenyear=3.0 elseif ctine=,b3.5b1 thenyear=3.5 elseif ctimww or ctine="4.0"
49、; thenyear=4 o elseif ctine=,b4.5b> thenyear=4.5elseif ctine=,b5" or ctine=l,5.0" then1或"并不要超過elsenessagebox(-系統(tǒng)提示"訂閱年限輸入不正確?請(qǐng)按照示例方式輸入: end ifif number=*b0bi thennessageboxc1系統(tǒng)提示"請(qǐng)輸入有效數(shù)字汕)sle_4.text=i,t,returnelseif nunber=i,1li thennumb=1elseif nunberst,2b, thennumb=2els
50、eif nunber=b,3i, thennunb=3elseif number=,4i, thennunb=4elseif nunber=i,5i, thennumb=5elsemessagebox(-系統(tǒng)提示"輸入不正確?請(qǐng)按照示例方式輸入:x并不要超過5嚴(yán)) returnend ifselect unane,upassword/索用戶,看用戶名和密碼是否和consumer表中看到 into :gs_name,:gspasswordfrom consumerv/here unane=:nane;if sqlca.sqlcodeoo thenmessagebox(-系統(tǒng)提示&quo
51、t;無此用戶?")sle_5.text=,f,sle_1.setfocus()returnend ifif sle_5.text<>trin(gs_password) thenmessagebox (-警告口令錯(cuò)誤嚴(yán))sle_5.text=i,1'sles.setfocusoreturnend if檢索報(bào)刊表中,看是否有此報(bào)刊select mnumberinto :numfrom magazienwhere mnunber=:nagazinenun);if sqlca.sqlcodeoo thennessageboxc1系統(tǒng)提示“j無此扌艮刊嚴(yán))sle_2.tex
52、t=,i,returnend if檢索magazine表中相應(yīng)的價(jià)格select mhalfprice,mwholeinto :halfprice 9:v/holepricefrom nagazienwhere mnumber=:magazinenun;檢索數(shù)據(jù)庫中該報(bào)刊的價(jià)格條數(shù)if sqlca刊“0(1空>6 thennessagebox系統(tǒng)提示"j1該報(bào)刊未輸入價(jià)格?")returnend ifif year=0.5 or year=1.5 or year=2.5 or year=3.5 or year=4.5 thenif year=0.5 or year=1.5 or year=25 or year=3.5 or year=4.5 then sunnoney=(-9.5+year)*wholeprice+halfprice sumnoney=sumnoney*numbelseif year=1 or year=2 or year=3 or year=4 or year=5 then summoney=year*wholeprice sumfnon
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 綜合素養(yǎng)提升的跨領(lǐng)域?qū)W習(xí)策略研究
- 科技驅(qū)動(dòng)的校園環(huán)境改善策略
- IT行業(yè)保密協(xié)議(2024版)
- 2025年度智能廚電一體化購銷合同二零二五3篇
- 二零二五年度自助餐廳經(jīng)營承包合同3篇
- 漯河2024年河南漯河市沙澧河建設(shè)運(yùn)行保障中心人才引進(jìn)5人筆試歷年參考題庫附帶答案詳解
- 滁州安徽滁州明光市司法局招聘司法協(xié)理員7人筆試歷年參考題庫附帶答案詳解
- 高效能實(shí)驗(yàn)的關(guān)鍵儀器的科學(xué)使用方法
- 淮安2025年江蘇淮安漣水縣公安局警務(wù)輔助人員招聘87人(一)筆試歷年參考題庫附帶答案詳解
- 二零二五年度蟲草產(chǎn)品研發(fā)與創(chuàng)新合同3篇
- 2024年小升初語文入學(xué)分班測(cè)試卷四(統(tǒng)編版)
- 流行文化對(duì)青少年價(jià)值觀的影響研究
- 2024年代理記賬工作總結(jié)6篇
- 電氣工程預(yù)算實(shí)例:清單與計(jì)價(jià)樣本
- VOC廢氣治理工程中電化學(xué)氧化技術(shù)的研究與應(yīng)用
- 煤礦機(jī)電設(shè)備培訓(xùn)課件
- 科技論文圖表等規(guī)范表達(dá)
- 高考寫作指導(dǎo)議論文標(biāo)準(zhǔn)語段寫作課件32張
- 2021年普通高等學(xué)校招生全國英語統(tǒng)一考試模擬演練八省聯(lián)考解析
- 紅色研學(xué)旅行課程的設(shè)計(jì)與實(shí)踐
- 幼兒園保育教育質(zhì)量指南評(píng)估指標(biāo)考核試題及答案
評(píng)論
0/150
提交評(píng)論