版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 管理信息系統(tǒng)課程設(shè)計 學(xué)院 :商學(xué)院 班級 :信管102 姓名 :李西壘 學(xué)號 :201008071064 課程設(shè)計題目 :網(wǎng)上購書管理信息系統(tǒng)的分析、設(shè)計和實施一、 課程設(shè)計目的通過數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計的操作與實踐,使學(xué)生了解關(guān)系數(shù)據(jù)庫的相關(guān)理論知識和有關(guān)工具軟件的使用技巧,在一定程度上提高應(yīng)用程序的綜合開發(fā)能力和創(chuàng)新意識、創(chuàng)新能力。開發(fā)一套校園內(nèi)網(wǎng)上購書系統(tǒng),可以讓顧客通過瀏覽器瀏覽網(wǎng)站售書目錄,從而挑選自己滿意的圖書,并下訂單購買。而網(wǎng)站后臺人員需要維護網(wǎng)站會員信息、書籍信息以及訂單信息.本系統(tǒng)的目的就是要開發(fā)一套既方便客戶網(wǎng)上購書,又方便網(wǎng)站維護人員維護網(wǎng)站W(wǎng)EB服務(wù)系統(tǒng).二、課程
2、設(shè)計內(nèi)容1、題目 網(wǎng)上購書管理信息系統(tǒng)的分析、設(shè)計和實施2、網(wǎng)上購書管理信息系統(tǒng)初步調(diào)查的資料 現(xiàn)有什么:包括現(xiàn)行網(wǎng)上購書系統(tǒng)的規(guī)模、人力、物力、設(shè)備和技術(shù)條件,機構(gòu)組織、管理體制、工作效率、可靠性等等.在現(xiàn)有資源下能提供什么:即現(xiàn)行網(wǎng)上購書系統(tǒng)能夠提供哪些人力(各種技術(shù)及管理水平的人)物力(多少設(shè)備、房屋)財力(多少錢)、時間(可以給出多長研制時間)等方面的資源,它們對現(xiàn)行系統(tǒng)的情況及新系統(tǒng)的研制持什么態(tài)度? 書店管理系統(tǒng)需要滿足來自三個方面需求:第一,書店工作人員通過計算機來管理各類圖書,進行圖書分類編號,調(diào)整圖書結(jié)構(gòu),增加圖書庫存,適應(yīng)讀者的需求。第二,工作人員對讀者的需求情況能作好全面
3、的掌握,及時得到歷史銷售記錄。第三,也是書店的核心工作,對圖書的銷售管理。2.1 需求分析隨著科學(xué)技術(shù)的不斷提高,計算機網(wǎng)絡(luò)的功能已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。各類學(xué)校的校園網(wǎng)也運行了多年,但還有不少學(xué)校的管理系統(tǒng)缺少統(tǒng)一規(guī)劃,單機運行的信息孤島還為數(shù)不少,所以有必要進一步研究充分利用校園網(wǎng)合理整合原有異構(gòu)數(shù)據(jù)庫,從而建立相關(guān)部門協(xié)同合作的管理系統(tǒng)。本教材管理平臺充分依托校園網(wǎng),實現(xiàn)教材信息的集中管理、分散操作、信息共享,使傳統(tǒng)的教材管理向著數(shù)字化、無紙化、智能化、綜合化的方向發(fā)展,并為進一步實現(xiàn)完善的學(xué)校信息系統(tǒng)打下良好的基礎(chǔ)。學(xué)校通過使用本系統(tǒng),可以實現(xiàn)教材預(yù)定、領(lǐng)取、
4、教材計劃、定單、庫存的自動管理,提高效率,避免出錯。教材管理系統(tǒng)軟件切實推進了教學(xué)管理的信息化.該軟件是以面向?qū)ο缶幊陶Z言為實現(xiàn)語言,其功能在系統(tǒng)內(nèi)部有源代碼直接完成.操作人員只需輸入一些簡單的漢字、數(shù)字,即可完成操作,達到自己的目標.大大提高了工作效率,作到信息的規(guī)范管理,科學(xué)統(tǒng)計和快速查詢,讓教材管理處更好的為學(xué)校服務(wù).2.1。1 用戶角色需求根據(jù)習(xí)慣上教材科的操作方式,整個系統(tǒng)應(yīng)該有三種用戶角色,即教材科人員,普通學(xué)生教師和系統(tǒng)管理員。教材科人員處理訂書領(lǐng)書操作,而不能進入到系統(tǒng)管理的模塊中;學(xué)生教師可以查詢教材信息,不能進入其它任何模塊;系統(tǒng)管理員在后臺對系統(tǒng)進行用戶管理,教材信息管理
5、,并展開系統(tǒng)的正常運行維護工作,但不能進入教材科人員操作模塊。除普通的學(xué)生教師等查詢用戶外,每個角色操作都通過密碼驗證和用戶類型選擇后登錄.通過系統(tǒng)管理員才可以修改密碼。工作完成后,通過各自專門的出口退出登錄狀態(tài).2.1。2 性能需求整個系統(tǒng)應(yīng)當操作簡便,界面友好,維護簡便。數(shù)據(jù)庫要求運行穩(wěn)定,執(zhí)行速度快,數(shù)據(jù)安全性高。軟件系統(tǒng)本身運行對計算機硬件平臺和操作系統(tǒng)平臺要求適中.2.2 可行性研究2.2.1 技術(shù)可行性此次信息系統(tǒng)開發(fā)是對所學(xué)專業(yè)知識的一次綜合應(yīng)用與提高,我們小組可以在電子商務(wù)實驗室完成系統(tǒng)開發(fā).該機房計算機配置肯定能滿足系統(tǒng)開發(fā)的要求。我們小組可以選定兩三臺計算機,建立系統(tǒng)開發(fā)環(huán)
6、境,主要是安裝數(shù)據(jù)庫工具(MS SQL SERVER 2000),應(yīng)用程序開發(fā)工具(ASP。NET與Visual Studio 2005).我們小組的部分成員有計算機,小組成員之間可以通過QQ或電話進行即時交流,協(xié)調(diào)開發(fā)工作,解決開發(fā)工作中出現(xiàn)的問題.就技術(shù)力量來說,該學(xué)期,我們小組各成員已經(jīng)學(xué)習(xí)了管理信息系統(tǒng),并且對網(wǎng)絡(luò)技術(shù)和操作系統(tǒng)也有系統(tǒng)的了解,有些成員熟悉計算機原理,能解決常見的硬件故障和硬件選擇.目前,教材管理信息系統(tǒng)已得到了大量應(yīng)用,有許多可供參考的成功系統(tǒng).而且,網(wǎng)上有許多關(guān)于ASP.NET編程的資料和SQL SERVER方面的資料. 從技術(shù)角度考慮,此信息系統(tǒng)開發(fā)可行。2。2。
7、2 經(jīng)濟可行性目標系統(tǒng)開發(fā)需求比較低,加上具有成熟的軟硬件環(huán)境,所以在軟硬件的支出上十分有限.而且,目標系統(tǒng)并不是十分的復(fù)雜,開發(fā)的周期較短,人員經(jīng)濟支出有限。當系統(tǒng)開發(fā)完實際運行后,將很大程度上提高計算機的功能,在為使用者帶來便利的同時,也為系統(tǒng)的進一步推廣創(chuàng)造了條件。這帶來的經(jīng)濟回報將遠超過支出,并且最重要的一點是該軟件的開發(fā)可以給我們對系統(tǒng)的開發(fā)有個全面的認識。從經(jīng)濟角度考慮,此信息系統(tǒng)開發(fā)可行。2。2.3 法律上的可行性整個系統(tǒng)由于是自行開發(fā),自行使用,所以系統(tǒng)本身不存在法律上的版權(quán)爭議。在服務(wù)器軟件方面,應(yīng)該使用正版軟件,因為整個系統(tǒng)盡管是開發(fā)給內(nèi)部使用,但它畢竟很多部分還是要依靠I
8、nternet的,一旦服務(wù)器連接到Internet上,它的操作系統(tǒng)可能會被Microsoft跟蹤,如果不是正版軟件,將不得不面臨民事訴訟的風險。三、課程設(shè)計要求1、系統(tǒng)分析報告 (1)現(xiàn)行系統(tǒng)的業(yè)務(wù)流程圖開始書店首界面選擇書店概況網(wǎng)上購書書籍信息查詢會員登陸注冊返回首頁2、數(shù)據(jù)流程圖買書使用網(wǎng)上銀行付款現(xiàn)金支付網(wǎng)上支付修改數(shù)據(jù)庫成功下訂單3、數(shù)據(jù)項屬性名存儲代碼類型長度備注書籍編號bnonchar10主碼書籍類別bkindnchar20書籍名稱bnamenchar40書籍價格bpricenchar10書籍簡介bintrovarchar80書籍折扣bdisint庫存數(shù)量bstockint屬性名存
9、儲代碼類型長度備注顧客編號cnoint主碼顧客密碼cpasschar10是顧客姓名cnamechar10否顧客性別csexchar10否顧客年齡cagechar10否顧客住址caddnchar20是聯(lián)系電話cphonechar10是屬性名存儲代碼類型長度備注管理員登錄名mnochar10主碼管理員密碼mpasschar10屬性名存儲代碼類型長度備注訂單號onoint主碼書籍編號bnonchar10顧客編號cnoint顧客姓名cnamechar20顧客住址caddnchar10聯(lián)系電話cphonechar10付款方式opaynchar10發(fā)貨方式oconveynchar10(4)新系統(tǒng)的邏輯模型
10、管理員圖書管理用戶管理訂單管理新書入庫刪除無效書目新用戶注冊修改用戶信息注銷用戶查詢用戶信息用戶查詢所需圖書登陸是否注冊用戶注冊查詢訂單保存訂單放入購物車處理訂單刪除無效訂單缺書處理缺書單訂單繼續(xù)購書確認購買(2)數(shù)據(jù)流程圖和數(shù)據(jù)字典a)第一層數(shù)據(jù)流程圖管理員處理購書,修改個人資料網(wǎng)上購書系統(tǒng)顧客b)第二層數(shù)據(jù)流圖管理員顧客接受事務(wù)處理事務(wù)輸出事務(wù)c)第三層數(shù)據(jù)流圖管理員顧客接受事務(wù)購書處理生成訂單修改資料處理訂單信息用戶信息數(shù)據(jù)字典名字:顧客名字:修改資料處理名字:管理員名字:生成訂單處理名字:購書處理名字:接受事務(wù)描述:網(wǎng)上購書的人定義:顧客=網(wǎng)上購書的人描述:顧客修改自己的資料處理定義:
11、修改資料處理=客戶信息修改處理描述:維護網(wǎng)站的人定義:管理員=維護網(wǎng)站的人描述:對顧客的所以訂單的處理定義:生成訂單處理=客戶地址信息+書名+購書數(shù)量描述:對顧客購書的處理定義:購書處理=當前訂單+最終訂單描述:接受外部輸入定義:接受事實=接受顧客、管理員的輸入2、新系統(tǒng)分析報告2、1系統(tǒng)總體結(jié)構(gòu)設(shè)計系統(tǒng)總體結(jié)構(gòu)設(shè)計是根據(jù)信息分析數(shù)據(jù)流程圖的結(jié)果,按照結(jié)構(gòu)化的系統(tǒng)設(shè)計方法而進行的.結(jié)構(gòu)化設(shè)計的基礎(chǔ)是模塊化。在線購書系統(tǒng)的功能結(jié)構(gòu)圖如圖41所示:圖10 系統(tǒng)功能結(jié)構(gòu)圖對該功能結(jié)構(gòu)圖的具體論述如下:(1) 用戶管理模塊 用戶注冊,登錄:用戶需輸入基本的用戶名和密碼,還可再完善輸入其他電話,電子郵件
12、,住址等信息 用戶信息修改:用戶可以修改自己的個人信息和密碼及其他相關(guān)信息; 用戶信息查看:會員可以查看自己的個人信息。 用戶查看訂單:用戶可以查看已經(jīng)生成的訂單信息,并進行一些操作 發(fā)表評論:用戶可以對書籍發(fā)表評論信息。(2) 書籍管理模塊 書籍瀏覽:用戶可以對所有書籍進行瀏覽 書籍更新:只有管理員可以對所有書籍進行添加、刪除、更新等操作 書籍搜索:可以輸入查詢條件退書籍進行搜索(3) 購物車模塊 更新購物車:用戶可以查看購物車中的書籍信息,并可以添加和刪除購物車中書籍。 查看購物車:用戶可以隨時查看購物車中的信息,包括書籍信息,價格信息等 生成訂單:用戶可以確定購物中需購物的書籍,然后下訂
13、單,生成訂單信息。 (4) 管理員模塊 用戶管理:對用戶的信息進行審核,對不符合者進行刪除,也可以根據(jù)客戶的需要對它的基本信息進行修改; 庫存管理:可以查看各書籍的庫存量,并可以隨時更新庫存信息。 訂單處理:對用戶的訂單進行處理。 評論管理:對用戶的評論信息的一些操作2。2 代碼設(shè)計 信息代碼設(shè)計及描述2.3 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計主要是進行數(shù)據(jù)庫的邏輯設(shè)計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的.數(shù)據(jù)庫設(shè)計是需要綜合企業(yè)各個部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計出規(guī)模適當、正確反映數(shù)據(jù)關(guān)系的、數(shù)據(jù)冗余少、存取效率高、能滿
14、足多種查詢要求的數(shù)據(jù)模型。2.3.1數(shù)據(jù)庫的概念設(shè)計概念設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。其主要工作就是設(shè)計概念模型,該模型能將用戶的數(shù)據(jù)明確的表達出來.概念模型是一種面向問題的模型,它反映了用戶的實現(xiàn)環(huán)境,并指出了從用戶角度看到的數(shù)據(jù)庫,它是處理多種應(yīng)用數(shù)據(jù)的方法的組合.概念模型與單獨的應(yīng)用無關(guān),與數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫的實現(xiàn)無關(guān),因此,它是用戶與設(shè)計人員之間的橋梁,它既是明確表達用戶需求的一個模型,又是設(shè)計數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)。概念模型的設(shè)計方法有多種,其中實體-聯(lián)系模型(ER模型)是一個典型代表,它是描述現(xiàn)實世界的一個簡明而
15、有利的工具。2。3.2實體聯(lián)系圖該系統(tǒng)的全局實體-聯(lián)系圖如圖4-2所示:圖11 全局ER圖其中各個實體的屬性顯示如下:圖12用戶實體圖13書籍實體圖14類目實體圖15評論實體圖16訂單實體2。3。3數(shù)據(jù)庫的邏輯設(shè)計邏輯設(shè)計的主要任務(wù)就是設(shè)計數(shù)據(jù)的結(jié)構(gòu),即按照數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)模型,轉(zhuǎn)換已設(shè)計的概念模型,實質(zhì)上是把概念模型(即E-R模型)轉(zhuǎn)換為所選用的DBMS所支持的模式。邏輯設(shè)計的主要目的是保證數(shù)據(jù)共享,消除數(shù)據(jù)冗余,實現(xiàn)數(shù)據(jù)的邏輯獨立性,易懂易用,有利于數(shù)據(jù)的完整性及安全性控制,且盡量降低開銷.邏輯設(shè)計過程主要是把概念設(shè)計階段的概念模型轉(zhuǎn)化為數(shù)據(jù)庫所能識別的表模型,也即數(shù)據(jù)庫模式設(shè)計。
16、關(guān)系模型的特點之一是概念的單一性.無論是實體還是實體間的聯(lián)系都用關(guān)系來表示。關(guān)系這個特點使得轉(zhuǎn)換工作比較直接.具體的轉(zhuǎn)換原則如下:(1)一個實體轉(zhuǎn)換為一個關(guān)系模式,實體的屬性就是關(guān)系的屬性,實體的關(guān)鍵字就是關(guān)系的關(guān)鍵字。(2)一個1:1的聯(lián)系轉(zhuǎn)換為一個關(guān)系。每個實體的關(guān)鍵字都是關(guān)系的候選關(guān)鍵字.(3)一個1:n的聯(lián)系轉(zhuǎn)換為一個關(guān)系。多個實體的關(guān)鍵字是關(guān)系的關(guān)鍵字.(4)一個n:m的聯(lián)系轉(zhuǎn)換為一個關(guān)系。聯(lián)系中的各實體關(guān)鍵字的組合組成關(guān)系的關(guān)鍵字(組合關(guān)鍵字)。(5)具有相同關(guān)鍵字的關(guān)系可以合并。根據(jù)上述規(guī)則,對圖所示的ER圖進行轉(zhuǎn)換,可以得到各“關(guān)系”(帶“"的為關(guān)鍵字,“”的為外部關(guān)
17、鍵字):用戶(用戶id,用戶名,密碼,角色,電子郵件,地址,郵編,電話,信用卡號,信用卡類型,信用卡過期時間)書籍(書籍id,類目id,書名,描述,圖標,庫存,單價)類目表(類目id,類目名,圖標,描述)訂單(訂單id,用戶id,書籍id,訂單中分項號,數(shù)量,狀態(tài))評論(評論id,用戶id,書籍id,評論內(nèi)容,評論時間)具體的數(shù)據(jù)庫表如下.(1)用戶表(User) 用戶表主要是記錄用戶的基本信息,包括用戶名、密碼等信息,如表31所示.表2用戶(User)字段名類型長度備注useridint8主鍵自動生成UsernameVarchar25用戶名PasswordVarchar25密碼roleint
18、2權(quán)限EmailVarchar80電子郵件AddressVarchar80地址ZipVarchar20郵編PhoneVarchar80電話cartidVarchar50信用卡號carttypeVarchar20信用卡類型cartdateDate過期時間 (2)書籍表(book) 書籍表主要是記錄了書籍的相關(guān)信息,如書籍名、書籍描述等,如表32所示。表3書籍表(book)字讀名類型長度備注 bookidVarchar25主鍵,idCategoryidVarchar25外鍵,類目idNameVarchar80書名LogoVarchar80圖標DescnVarchar255描述QtyInt10庫存P
19、riceDecimal(10,2)單價 (3)類目表(category) 類目表主要是記錄了書籍的類目、描述等信息,如表33所示。表4類目表(category)字讀名類型長度備注 catidVarchar25主鍵,idNameVarchar80類目名LogoVarchar80圖標DescnVarchar255描述(4)訂單表(order) 訂單表主要記錄了購買書籍后的記錄,包括價格、數(shù)量等,如表34所示。表5訂單表(order)字讀名類型長度備注 orderidVarchar32主鍵自動生成useridint8外鍵用戶表bookidVarchar25外鍵書籍表lineitemVarchar25
20、訂單中的分項quantityint10數(shù)量statusint2訂單狀態(tài)p,y,norderdatedate下單時間(5)評論表(comment) 評論表記錄了用戶對書籍的評論信息,如表3-5所示.表6評論表(comment)字讀名類型長度備注 commentidInt8主鍵autouseridInt8外鍵用戶表BookidVarchar25外鍵書籍表CommentVarchar400評論內(nèi)容Commdatetimestamp評論時間2.3.4數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計的主要任務(wù)是:對數(shù)據(jù)庫中的數(shù)據(jù),在物理設(shè)備上的存放結(jié)構(gòu)和存取方法進行設(shè)計,索引的設(shè)計等。數(shù)據(jù)庫的物理結(jié)構(gòu)依賴于確定的計算機
21、系統(tǒng),并于選用的DBMS密切相關(guān)。物理設(shè)計的任務(wù)是為了有效的實現(xiàn)邏輯模式,確定所采取的存儲策略。此階段以邏輯設(shè)計的結(jié)果作為輸入,結(jié)合具體DBMS的特點與存儲設(shè)備特性進行設(shè)計,選定數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)和存取方法。2。4 輸出設(shè)計(1)輸出設(shè)計的內(nèi)容輸出設(shè)計的內(nèi)容包括:有關(guān)輸出信息使用方面的內(nèi)容;輸出方式;輸出設(shè)備;輸出介質(zhì)。(2)輸出設(shè)計的方法在系統(tǒng)設(shè)計階段,設(shè)計人員應(yīng)給出系統(tǒng)輸入的說明,這個說明既是將來編程人員在軟件開發(fā)中進行實際輸出設(shè)計的依據(jù),也是用戶評價系統(tǒng)實用性的依據(jù)。因此,設(shè)計人員要選擇合適的輸出方式,并以清楚的方式表達出來.輸出形式主要有報表信息和圖形化信息.本系統(tǒng)的輸出為表
22、格形式,主要包括用戶信息,書籍信息和訂單信息。2.5 輸入設(shè)計輸入設(shè)計的目標是保證向系統(tǒng)輸入正確的數(shù)據(jù)。輸入設(shè)計的原則。輸入設(shè)計應(yīng)遵循以下原則:最小量原則:這是指在保證滿足處理要求的前提下使輸人量最小.由于數(shù)據(jù)輸入與計算機處理比較起來相對慢,在數(shù)據(jù)錄入時,系統(tǒng)大多數(shù)時間都處于等待狀態(tài),系統(tǒng)效率將顯著降低;同時,數(shù)據(jù)錄入工作一般需要人的參與,大量的數(shù)據(jù)錄入往往浪費很多的人力資源,增加系統(tǒng)的運行成本。因此,輸入量越少,出錯機會越少,花費時間越少,數(shù)據(jù)一致性越好。簡單性原則:輸入的準備、輸入過程應(yīng)盡量容易,以減少錯誤的發(fā)生。這主要是因為輸入設(shè)計在為用戶提供糾錯和輸入校檢的同時,就保證了輸入過程簡單易
23、用,就保證了不會因為差錯,糾錯而使輸入復(fù)雜化,增加用戶負擔。早檢驗原則:對輸人數(shù)據(jù)的檢驗盡量接近原數(shù)據(jù)發(fā)生點,使錯誤能及時得到改正。因此輸入設(shè)計中應(yīng)采用多種輸入校檢方法和有效性驗證技術(shù),以減少輸入錯誤。少轉(zhuǎn)換原則:輸入數(shù)據(jù)盡量用其處理所需形式記錄,減少不必要的輸入步驟,當步驟不能省時,應(yīng)仔細驗證現(xiàn)有步驟是否完備,以免數(shù)據(jù)轉(zhuǎn)換介質(zhì)時發(fā)生錯誤。本系統(tǒng)的主要輸出為文本形式。輸入格式設(shè)計輸入格式的設(shè)計一般是指數(shù)據(jù)錄入人員在終端屏幕上看到的憑證格式。其設(shè)計格式的原則是使錄入人員能方便的輸入數(shù)據(jù),盡量避免操作失誤. 本系統(tǒng)中主要輸入方式方式為鍵盤輸入,主要輸入的內(nèi)容為用戶信息,書籍信息。3、系統(tǒng)實施
24、67;3、1 數(shù)據(jù)庫連接本軟件使用 ODBC 連接數(shù)據(jù)庫,基本思想為為數(shù)據(jù)庫中每個表建立一個 RecordSet 類,當要對表中數(shù)據(jù)進行操作時,創(chuàng)建相關(guān)記 錄集,即可引用類中的響應(yīng)函數(shù)進行添加、修改 、刪除、查詢等操作。 §3、2主界面主界面中顯示顧客登錄、管理員登錄和顧客 注冊三個按鈕,顧客輸入登錄名和密碼后點擊顧客登錄后進入顧客查詢界面,管理員 輸入登錄名和密碼后點擊管理員登錄后進入管理 界面,若是新顧客,直接點擊注冊即可進入注 冊界面,各對話框之間的連接通過 DoModal()函數(shù)實現(xiàn),若需要進行身份驗證,未輸入用 戶名或密碼則將彈出提示對話框“請輸入用戶名 和密碼!”,輸入后
25、系統(tǒng)將進入相應(yīng)的數(shù)據(jù) 庫表查詢是否有此信息,若無對應(yīng)信息則彈出對 話框提示輸入信息錯誤,信息正確方可進入下 一界面,如顧客登錄時,系統(tǒng)使用以下代碼完成 身份驗證功能,同時記錄下用戶信息以便加入訂單: /生成查詢用戶賬號和密碼的 SQL 語句 mSqlStr= ”select from customer where cno='" mSqlStr=mSqlStr + m_no; mSqlStr=mSqlStr + "'and cpass='"; mSqlStr=mSqlStr + m_password; mSqlStr=mSqlStr + &q
26、uot;'”; if(!customer.Open(AFX_DB_USE_DEFAULT_TYPE,mSqlStr) AfxMessageBox("customer 表打開失敗!”); return; if(!customer.IsBOF() /Open all function for user m_customer_no=customer.m_cno; m_customer_name=customer.m_cname; m_customer_phone=customer。m_cphone; m_customer_add=customer。m_cadd; AfxMessag
27、eBox("密碼正確,歡迎登錄!”); EndDialog(IDCANCEL); Cgkcx a; a.DoModal(); else AfxMessageBox("密碼輸入錯誤!”); return; §3、3添加功能 本軟件的添加功能使用 AddNew()函數(shù),應(yīng)用在顧客注冊、顧客購書、管理員添加新書等模塊。 1)顧客注冊:新顧客在主界面中點擊注冊后即可進入注冊界面填寫自己的各項信息,完成后點擊確定,信息添加到 customer 表中,并利用觸發(fā)器自動生成顧客編號作為登錄名。相關(guān)代碼如下: setcustomer c; c。Open(); c.Add
28、New(); UpdateData(TRUE); if(m_name.IsEmpty()|m_phone.IsEmpty()|m_add. IsEmpty()|m_password。IsEmpty()|m_mima.IsEmpty() MessageBox(”請輸入全部信息!"); return; if(m_password!=m_mima) MessageBox("密碼錯誤,請確認!"); return; c.m_cpass=m_password; c.m_cname=m_name; if(m_sex=0)c.m_csex=”男”; else c.m_csex=
29、”女" c。m_cage=m_age; c.m_cphone=m_phone; c。m_cadd=m_add; c.m_cpass=m_password; if(m_sex=0)c.m_csex=”男"; else c。m_csex=”女”; c。Update(); c.Requery(); m_customer_zhanghao=c。m_cno; UpdateData(FALSE); m_customer_xingming=m_name; m_customer_mima=m_password; EndDialog(IDCANCEL); Cxxqr a; a.DoModal
30、(); 2)顧客購書:顧客在查詢界面中選擇想要購買的圖書后點擊購買可進入購買界面,選擇付款方式、送貨方式并確認后,相關(guān)信息添加到 orders 表中,并利用觸發(fā)器自動生成訂單號。相關(guān)代碼如下: Csetorders order; setbook book; order。Open(); order.AddNew(); UpdateData(TRUE); if(m_zhifu=0)order。m_opay=”網(wǎng)銀支付”; else order。m_opay="貨到付款" if(m_songhuo=0 )order.m_oconvey=”快遞"; else order.
31、m_oconvey=”EMS"; order.m_bno=m_book_no; order。m_cadd=m_customer_add; order.m_cname=m_customer_name; order.m_cno=m_customer_no; order.m_cphone=m_customer_phone; order.Update(); order.Requery(); m_order_no=order.m_ono; book。Open(); book。Edit(); book。m_bstock-; book.Update(); book。Requery();book。C
32、lose(); UpdateData(FALSE); CString temp; temp 。Format(”購買成功!”); AfxMessageBox(temp); EndDialog(IDCANCEL); Cgkcx a; a。DoModal(); 3)管理員添加新書:管理員在管理界面中輸入各項信息后點擊添加,圖示信息即可被添加到 book 表中,相關(guān)代碼如下: setbook a,b; a。Open(); a.AddNew(); UpdateData(TRUE); if(m_no。IsEmpty()|m_kind。IsEmpty()|m_name。IsEmpty()|m_price.I
33、sEmpty()|m_intro.IsEmpty()|m_dis=0m_stock=0) MessageBox("請輸入全部信息!”); return; if(b.IsOpen()) b.Close(); if(m_no!=_T("”)) b。m_strFilter。Format("bno=%s",m_no); b。Open(); if(b。m_bno!=_T(”)) MessageBox(”已經(jīng)有這條記錄了!"); return; a。m_bno=m_no; a。m_bkind=m_kind; a。m_bname=m_name; a。m_bp
34、rice=m_price;a.m_bintro=m_intro; a。m_bdis=m_dis;a。m_bstock=m_stock; CString aa,bb; m_list.InsertItem(0,a。m_bno,0); m_list.SetItemText(0,1,a。m_bkind); m_list.SetItemText(0,2,a。m_bname); m_list.SetItemText(0,3,a.m_bprice); m_list.SetItemText(0,4,a。m_bintro); aa.Format(”d",a.m_bdis); m_list。SetIte
35、mText(0,5,aa); bb。Format("d”,a。m_bstock); m_list。SetItemText(0,6,bb); a.Update(); a。Requery(); UpdateData(FALSE); a。Close(); §3、4修改功能修改功能使用 Edit()函數(shù),主要應(yīng)用在管理員對圖書信息的修改方面,其中圖書編號不可修改,若修改則出現(xiàn)錯誤提示,相關(guān)代碼如下: setbook a; a.Open(); a。Edit(); UpdateData(TRUE); if(m_no。IsEmpty()) MessageBox(” 請選擇圖書!"
36、;); return; if(no!=m_no) MessageBox("圖書編號不允許修改!”); return; m_list.DeleteAllItems(); a。m_bkind=m_kind; a。m_bname=m_name; a.m_bprice=m_price;a.m_bintro=m_intro; a。m_bdis=m_dis;a。m_bstock=m_stock; CString aa,bb; m_list.InsertItem(0,a。m_bno,0); m_list.SetItemText(0,1,a.m_bkind); m_list.SetItemText(
37、0,2,a.m_bname); m_list。SetItemText(0,3,a。m_bprice); m_list.SetItemText(0,4,a.m_bintro); aa。Format("d",a.m_bdis); m_list。SetItemText(0,5,aa); bb.Format(”%d”,a.m_bstock); m_list。SetItemText(0,6,bb); a.Update(); a。Requery(); UpdateData(FALSE); a.Close(); §3、5刪除功能 刪除功能使用 Delete()函數(shù),應(yīng)
38、用在管理員對圖書信息的刪除及查看訂單后發(fā)貨方面: 1)圖書信息刪除:管理員查找到要刪除的圖書后選中,點擊刪除按鈕即可將 book 表中該圖書信息刪除,相關(guān)代碼如下: UpdateData(TRUE); int n=m_list。GetSelectionMark(); setbook b;if(m_no。IsEmpty() MessageBox("請選擇圖書!”); return; b。m_strFilter。Format("bno=%s”,m_no); b.Open(); if(b.IsEOF()) MessageBox("沒有此記錄!”); return; b。
39、Delete(); m_list。DeleteItem(n); b。Close(); 2)發(fā)貨:管理員查看訂單后選中要發(fā)送的圖書,點擊發(fā)貨即可在 o rders 表中將該訂單刪除,相關(guān)代碼如下: int n=m_list。GetSelectionMark(); /創(chuàng)建訂單記錄集 Csetorders order;if(m_ono。IsEmpty() MessageBox("請選擇訂單!”); return; order。m_strFilter.Format(”ono='%s",m_ono); order.Open(); if(order.IsEOF()) Messa
40、geBox("沒有此記錄!"); Return; while(!order.IsEOF() order.Delete(); order。MoveNext(); /關(guān)閉記錄集 order.Close(); m_list.DeleteItem(n); UpdateData(FALSE); §3、6查詢功能 查詢功能應(yīng)用于顧客購書前對書籍的查詢和管理員對書籍的查詢,以顧客查詢?yōu)槔?,顧客查詢可按照圖書編號、圖書類別、圖書 名稱、折扣額度等四種方式,其中圖書類別和圖 書名稱都可實現(xiàn)模糊查詢,在相關(guān)表中查找 到正確信息后顯示在列表框內(nèi),以圖書名稱和折 扣額度為例,相
41、關(guān)代碼如下: UpdateData(TRUE); setbook book; if(m_fangshi!=0&&m_fangshi!=1m_fangshi!=2&m_fangshi!=3) AfxMessageBox("請選擇查詢類別!”); return; /出現(xiàn)問題:不能讀取 m_kind,原因:IsEmpty()少了小括號 if(m_fan gshi=1) if(m_name.IsEmpty()) AfxMessageBox(”請輸入圖書名稱!”); return; setbook book; if(book.IsOpen() book。Close();
42、 CString tmp; tmp.Format(”%s% ”,m_name); m_name=tmp; book。m_strFilter.Format("bname LIKE '%s",m_name); book.Open(); m_list。DeleteAllItems(); int i=0; if(book.IsEOF() MessageBox(" 目前暫沒有您要的書目!”," 提示",MB_OK); return; while(!book。IsEOF()) CString aa,bb; m_list.InsertItem(i,b
43、ook.m_bno,0); m_list.SetItemText(i,1,book.m_bkind); m_list.SetItemText(i,2,book.m_bname); m_list.SetItemText(i,3,book。m_bprice); m_list.SetItemText(i,4,book.m_bintro); aa.Format(”d",book。m_bdis); m_list。SetItemText(i,5 ,aa); bb.Format("%d”,book。m_bstock); m_list。SetItemText(i,6,bb); i+; bo
44、ok.MoveNext(); if(m_fan gshi=3) if(m_dis=0) AfxMessageBox(”請輸入查詢內(nèi)容!”); return; if(book。IsOpen() book。Close(); book。m_strFilter.Format(”bdis<=%d",m_dis); book。Open(); m_list。DeleteAllItems(); int i=0; if(book。IsEOF() MessageBox(” 目前暫沒有您要的書目!"," 提示”,MB_OK); return; while(!book。IsEOF(
45、) CString aa,bb; m_list.InsertItem(i,book.m_bno,0); m_list。SetItemText(i,1,boo k。m_bkind); m_list。SetItemText(i,2,boo k。m_bname); m_list.SetItemText(i,3,boo k.m_bprice); m_list.SetItemText(i,4,boo k.m_bintro); aa.Format("d",book.m_bdis); m_list。SetItemText(i, 5,aa); bb。Format("d”,book
46、.m_bstock); m_list。SetItemText(i,6,bb); i+; book.MoveNext(); §3、6顯示功能在本軟件中多次將信息顯示在列表框中,以圖書信息管理界面中顯示圖書信息為例,相關(guān)代碼如下: BOOL Cxsrk::OnInitDialog() CDialog:OnInitDialog(); DWORD dwExStyle = LVS_EX_FULLROWSELECT LVS_EX_GRIDLINES |LVS_EX_HEADERDRAGDROP LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT; m_li
47、st。SetExtendedStyle(dwExStyle); m_list。InsertColumn(0,”編號”,LVCFMT_CENTER,50,0); m_list。InsertColumn(1,"類別”,LVCFMT_CENTER,100,0); m_list。InsertColumn(2,”名稱",LVCFMT_CENTER,200,0); m_list。InsertColumn(3,"價格”,LVCFMT_CENTER,60,0); m_list。InsertColumn(4,”簡介",LVCFMT_CENTER,200,0); m_list。InsertColumn(5,”折扣”,LVCFMT_CENTER,50,0); m_list.InsertColumn(6,"庫存",LVCFMT_CENTER,50,0); setbook a; a。Open();int i=0;while(!a。IsEOF() CString aa,bb; m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球風電用工業(yè)碳刷行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球服裝金屬探測器行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國高性能航空涂料行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國眼科手術(shù)剪行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025公路工程進度、計量、合同管理監(jiān)理內(nèi)容
- 餐桌茶幾家具買賣合同
- 年貨物運輸合同范本
- 2025合同模板合伙協(xié)議范本
- 大米購銷的合同
- 物聯(lián)網(wǎng)系統(tǒng)定制與開發(fā)合同
- 浙江省杭州市2024-2025學(xué)年高三上學(xué)期一模英語試題(含解析無聽力原文及音頻)
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 精裝修樣板房房屋使用說明
- 喬遷新居結(jié)婚典禮主持詞
- 小學(xué)四年級數(shù)學(xué)競賽試題(附答案)
- 魯科版高中化學(xué)必修2全冊教案
- 《病理學(xué)基礎(chǔ)》知識考核試題題庫與答案
- 人口分布 高一地理下學(xué)期人教版 必修第二冊
- 四年級上冊英語試題-Module 9 Unit 1 What happened to your head--外研社(一起)(含答案)
- 子宮內(nèi)膜異位癥診療指南
- 《高級計量經(jīng)濟學(xué)》-上課講義課件
評論
0/150
提交評論