當(dāng)前位置首頁 > 計(jì)算機(jī) > 數(shù)據(jù)庫/結(jié)構(gòu)與算法
搜柄,搜必應(yīng)! 快速導(dǎo)航 | 使用教程

數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告銷售管理系統(tǒng)

文檔格式:DOC| 34 頁|大小 510.50KB|積分 10|2025-03-16 發(fā)布|文檔ID:253595779
第1頁
第2頁
第3頁
下載文檔到電腦,查找使用更方便 還剩頁未讀,繼續(xù)閱讀>>
1 / 34
此文檔下載收益歸作者所有 下載文檔
  • 版權(quán)提示
  • 文本預(yù)覽
  • 常見問題
  • 數(shù)據(jù)庫系統(tǒng)課程設(shè)計(jì)目錄第 1 章 前言 ....................................................... 11.1 課題背景................................................. 11.2 開發(fā)工具................................................. 11.2.1 SQL Server 2005................................ 21.2.2 MFC............................................... 21.2.3 ADO............................................... 2第2章 需求分析..................................................... 32.1 任務(wù)概述.................................................. 3 2.1.1任務(wù)目標(biāo)............................................. 3 2.1.2用戶特點(diǎn)............................................. 32.2 系統(tǒng)的功能需求 ............................................ 32.2.1 系統(tǒng)角色功能需求 ................................... 32.2.2 功能模塊 ........................................... 32.3 系統(tǒng)的性能需求 ............................................ 32.4 系統(tǒng)的數(shù)據(jù)需求 ............................................ 4第 3 章 系統(tǒng)總體設(shè)計(jì) ................................................ 53.1 系統(tǒng)功能設(shè)計(jì) .............................................. 53.1.1 各功能模塊介紹 ...................................... 53.1.2 系統(tǒng)總體模塊圖 ...................................... 5第 4 章 數(shù)據(jù)庫設(shè)計(jì) ................................................... 64.1 數(shù)據(jù)庫概念設(shè)計(jì) ............................................ 64.2 數(shù)據(jù)庫邏輯設(shè)計(jì) ............................................ 74.2.1 表匯總 ............................................. 74.2.2 表邏輯結(jié)構(gòu)設(shè)計(jì) ..................................... 7第 5 章 詳細(xì)設(shè)計(jì) .................................................... 95.1 程序結(jié)構(gòu)的設(shè)計(jì) ............................................. 95.2 頁面設(shè)計(jì) ................................................... 105.2.1 登錄界面 ............................................ 105.2.2 管理界面 .............................................105.2.3 用戶管理 .............................................115.2.4 客戶信息管理 ........................................ 115.2.5 商品信息管理 .........................................125.2.6 營銷信息管理 .........................................125.3 編碼設(shè)計(jì) ................................................... 135.3.1ADO連接 ................................................. 135.3.2 更改密碼 .............................................. 175.3.3 登錄…………........................................... 175.3.4 客戶管理.............................................. 185.3.5 商品管理.......................................... …….215.3.6 銷售管理.......................................... ……..23第 6 章 結(jié)論與展望 .................................................. 316.1 結(jié)論 ........................................................ 316.2 系統(tǒng)不足 .................................................... 316.3 感謝........................................... …………………31參考文獻(xiàn) ........................................................... 31第1章 前言1.1 課題背景隨著中國電子商務(wù)、互聯(lián)網(wǎng)業(yè)務(wù)的迅猛發(fā)展,國內(nèi)許多企業(yè)已跨入電腦網(wǎng)絡(luò)管理時(shí)代,并因此提高了管理效率和市場競爭力。

    但目前仍有部分企業(yè)還停留在原始計(jì)賬管理階段而隨著全球經(jīng)濟(jì)信息化的進(jìn)程和WTO的成功實(shí)現(xiàn),企業(yè)面臨著前所未有的機(jī)遇和挑戰(zhàn),在如此激變的社會(huì)形勢和激烈的市場競爭下,愈來愈多的企業(yè)管理者意識到效率管理和科學(xué)管理的重要性,以及增強(qiáng)市場競爭力的迫切性,因此建立科學(xué)、規(guī)范、高效的管理制度和秉承富有競爭力的經(jīng)營理念是每一個(gè)企業(yè)管理者的渴望,企業(yè)采用電腦管理進(jìn)貨、庫存、銷售等諸多環(huán)節(jié)也已成為趨勢及必然許多從事商業(yè)活動(dòng)的企業(yè)都需要采購商品、銷售商品以及將商品暫時(shí)存儲(chǔ)在倉庫中,對這一工作流程進(jìn)行有效地管理和控制,對這些企業(yè)來說是非常重要在進(jìn)貨、庫存、銷售環(huán)節(jié)中,由于商品種類繁多、業(yè)務(wù)量大、庫存管理復(fù)雜,使用手工操作的工作量很大,在操作過程中也很容易出現(xiàn)各種錯(cuò)誤而采用計(jì)算機(jī)管理則可以大大提高日常工作的效率,不僅將原來由手工操作的進(jìn)貨、出貨及銷售這一整套流程用計(jì)算機(jī)進(jìn)行全程管理,而且消除了手工操作中可能存在的不確定因素,達(dá)到進(jìn)銷存管理流程清晰,從而能夠比較徹底地貫徹經(jīng)營者的管理模式由于科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們所深刻認(rèn)識,它己進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用采用計(jì)算機(jī)進(jìn)行信息化管理已成為衡量企業(yè)管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,而銷售管理的全面自動(dòng)化、信息化則是其中重要的組成部分。

    銷售管理的好壞對于企業(yè)的決策者和管理者來說都至關(guān)重要,在很大程度上影響著企業(yè)的經(jīng)濟(jì)效益和社會(huì)效益因此,本文所研究的銷售管理系統(tǒng)具有一定的使用價(jià)值和現(xiàn)實(shí)意義 一直以來人們使用傳統(tǒng)人工的方式進(jìn)行銷售管理,這種管理方式存在著諸多缺點(diǎn),如:工作量大、效率低、保密性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難鑒于此,本文研究了一種基于關(guān)系型數(shù)據(jù)庫的銷售管理方案利用SQL Server2005數(shù)據(jù)庫管理系統(tǒng)靈活性和開發(fā)效率高的特點(diǎn),采用面向?qū)ο蟮腣C的方法,開發(fā)出銷售管理系統(tǒng)該系統(tǒng)具有手工管理所無法比擬的優(yōu)點(diǎn),如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、信息利用率高、成本低等該系統(tǒng)能夠極大地提高銷售管理的效率,優(yōu)化企業(yè)的人力、物力,降低企業(yè)的管理成本,為企業(yè)銷售管理的信息化、正規(guī)化奠定了堅(jiān)實(shí)的基礎(chǔ)1.2 開發(fā)工具本文所采用的開發(fā)工具主要是基于數(shù)據(jù)庫系統(tǒng)的SQL Server 2005 和基于面向?qū)ο蟪绦蛟O(shè)計(jì)的VC,主要利用其MFC技術(shù)利用SQL Server 2005創(chuàng)建商場客戶表、商品表、商品供應(yīng)商表、進(jìn)貨表、銷售表以及用VC連接數(shù)據(jù)庫用的用戶信息表。

    利用ADO連接的方法訪問數(shù)據(jù)庫利用VC和數(shù)據(jù)庫建立連接之后,利用VC中的控件按鈕以及一些程序代碼實(shí)現(xiàn)一些特定的功能,例如營銷信息查詢、刪除、修改等,極大地提高了銷售管理的效率1.2.1 SQL Server 2005SQL Server 2005 是微軟公司動(dòng)用上千人的研發(fā)力量,耗費(fèi)五年時(shí)間打造出來 的產(chǎn)品,在企業(yè)及數(shù)據(jù)庫產(chǎn)品中具有里程碑的意義SQL Server 2005 是一個(gè)關(guān)系 數(shù)據(jù)庫管理系統(tǒng),是一個(gè)全面的數(shù)據(jù)庫平臺,其數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu) 化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能SQL Server 2005 結(jié)合了分析、報(bào)表、集 成和通知功能,引進(jìn)了一套集成的管理工具和管理應(yīng)用編程接口,以提供易用性、 可管理性及對大型 SQL Server 配置的支持其新的查詢類型和在交易過程中使用 錯(cuò)誤處理的功能,為開發(fā)人員在 SQL Server 查詢開發(fā)方面提供了更高的靈活性和 控制力SQL Server 可以適合大容量數(shù)據(jù)的應(yīng)用,在功能上和管理上都比 Microsoft Access 要強(qiáng)的多在處理海量數(shù)據(jù)的效率,后臺開發(fā)的靈活性,可擴(kuò)展等方面強(qiáng) 大在 SQL Server 2005 中還可以使用存儲(chǔ)過程,在服務(wù)器執(zhí)行操作時(shí),減少網(wǎng)絡(luò) 通訊,提高了執(zhí)行效率,而且保證了數(shù)據(jù)庫的安全。

    1.2.2 MFCMFC,微軟基礎(chǔ)類(Microsoft Foundation Classes),同VCL類似,是一種Application Framework,隨微軟Visual C++ 開發(fā)工具發(fā)布目前最新版本為9.0(截止2008年11月)該類庫提供一組通用的可重用的類庫供開發(fā)人員使用大部分類均從CObject 直接或間接派生,只有少部分類例外   MFC 應(yīng)用程序的總體結(jié)構(gòu)通常由開發(fā)人員從MFC類派生的幾個(gè)類和一個(gè)CWinApp類對象(應(yīng)用程序?qū)ο螅┙M成MFC 提供了MFC AppWizard 自動(dòng)生成框架   Windows 應(yīng)用程序中,MFC 的主包含文件為"Afxwin.h"   此外MFC的部分類為MFC/ATL 通用,可以在Win32 應(yīng)用程序中單獨(dú)包含并使用這些類 由于它的易用性,初學(xué)者常誤認(rèn)為VC++開發(fā)必須使用MFC這種想法是錯(cuò)誤的作為Application Framework,MFC的使用只能提高某些情況下的開發(fā)效率,只起到輔助作用,而不能替代整個(gè)Win32 程序設(shè)計(jì)1.2.3 ADO微軟公司的ADO (ActiveX Data Objects) 是一個(gè)用于存取數(shù)據(jù)源的COM組件。

    它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLEDB的一個(gè)中間層允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實(shí)現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接訪問數(shù)據(jù)庫的時(shí)候,關(guān)于SQL的知識不是必要的,但是特定數(shù)據(jù)庫支持的SQL命令仍可以通過ADO中的命令對象來執(zhí)行ADO被設(shè)計(jì)來繼承微軟早期的數(shù)據(jù)訪問對象層,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)第 2 章 需求分析2.1 任務(wù)概述2.1.1 系統(tǒng)目標(biāo)銷售管理系統(tǒng)是為了提高銷售管理效率而開發(fā)的它包括客戶信息管理、商品信息管理、營銷信息管理等模塊,并提供了查詢、修改、添加、刪除等功能銷售管理系統(tǒng)能簡化貿(mào)易公司在銷售管理方面的復(fù)雜性,和減少在管理上的龐大開銷隨著計(jì)算機(jī)行業(yè)的飛速發(fā)展,人類已經(jīng)進(jìn)入了信息時(shí)代,社會(huì)中的各個(gè)單位、部門也陸續(xù)開始使用軟件化的管理模式,由于它具有方便、準(zhǔn)確、快速、靈活的特點(diǎn),使得在管理上實(shí)現(xiàn)了自動(dòng)化、一體化、多元化的目標(biāo)本課程設(shè)計(jì)開發(fā)了一個(gè)銷售管理系統(tǒng),該系統(tǒng)完成了對商品進(jìn)貨、商品銷售、供應(yīng)商信息、客戶信息等的添加、修改、刪除、查詢等功能,迅速準(zhǔn)確地完成各種工作,大大提高了企業(yè)的管理效率。

    2.1.2用戶特點(diǎn)許多從事商業(yè)活動(dòng)的企業(yè)都需要采購商品、銷售商品以及將商品暫時(shí)存儲(chǔ)在倉庫中,對這一工作流程進(jìn)行有效地管理和控制,對這些企業(yè)來說是非常重要在進(jìn)貨、庫存、銷售環(huán)節(jié)中,由于商品種類繁多、業(yè)務(wù)量大、庫存管理復(fù)雜,使用手工操作的工作量很大,在操作過程中也很容易出現(xiàn)各種錯(cuò)誤本系統(tǒng)采用計(jì)算機(jī)管理則可以大大提高日常工作的效率,不僅將原來由手工操作的進(jìn)貨、出貨及銷售這一整套流程用計(jì)算機(jī)進(jìn)行全程管理,而且消除了手工操作中可能存在的不確定因素,達(dá)到進(jìn)銷存管理流程清晰,從而能夠比較徹底地貫徹經(jīng)營者的管理模式2.2系統(tǒng)的功能需求2.2.1 角色功能需求本系統(tǒng)共包含供應(yīng)商、商品、客戶三中角色:(1)供應(yīng)商:包括商品供應(yīng)商和商品的品牌商兩種,我們可以通過添加、修改和刪除等操作對這兩種供應(yīng)商進(jìn)行更新;(2)商品:進(jìn)貨和銷售功能均以商品為主體,同時(shí)可以添加商品的數(shù)量;(3)客戶:客戶可以采購商品,也可以添加客戶的數(shù)量及信息2.2.2功能模塊系統(tǒng)包括管理員信息模塊、客戶信息模塊、商品信息模塊、營銷信息模塊(進(jìn)貨和銷售管理)、供應(yīng)商信息模塊1)管理員信息模塊功能需求:可以添加新的用戶及密碼,也可以更改當(dāng)前用戶的密碼;(2)客戶信息模塊功能需求:可以添加新客戶的各種信息,也可以進(jìn)行刪除、修改和查詢;(3)商品信息模塊功能需求:能夠添加新的商品,也可以對以前的商品信息進(jìn)行刪除、修改和查詢;(4)營銷信息模塊功能需求:包括進(jìn)貨和銷售信息,可以對其進(jìn)行添加、刪除、修改和查詢;(5)供應(yīng)商信息模塊功能需求:可以添加、刪除、修改和查詢供應(yīng)商的信息。

    2.3 系統(tǒng)的性能分析 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,系統(tǒng)應(yīng)該滿足以下的性能需求:(1)系統(tǒng)處理的準(zhǔn)確性和及時(shí)性 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足用戶對信息的處理由于系統(tǒng)的查詢功能對于整個(gè)系統(tǒng)的功能和性能完成很重要從系統(tǒng)的多個(gè)數(shù)據(jù)來源來看,學(xué)生信息查詢、教師信息查詢、實(shí)驗(yàn)信息 查詢、排課結(jié)果查詢、實(shí)驗(yàn)成績查詢,其準(zhǔn)確性很大程度上決定了系統(tǒng)的成敗 因此,在系統(tǒng)開發(fā)過程中,系統(tǒng)采用優(yōu)化的 SQL 語句及安全擴(kuò)展存儲(chǔ)過程來保證 系統(tǒng)的準(zhǔn)確性和及時(shí)性2)系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性 系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性例如實(shí)驗(yàn)信息屬性添加、修改,用戶查詢的需求及管理工作的分級管理等模塊也會(huì)不斷的更新和完善所 有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充而要實(shí)現(xiàn)這一點(diǎn), 應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范, 可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件通過軟件的修補(bǔ)、替換完 成系統(tǒng)的升級和更新?lián)Q代3)系統(tǒng)的易用性和易維護(hù)性 系統(tǒng)是直接面對使用人員的,而有些使用人員往往對計(jì)算機(jī)并不是非常熟悉。

    這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面要實(shí)現(xiàn)這一點(diǎn), 就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn) 的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程系統(tǒng)中涉及到的數(shù)據(jù)是高校實(shí)驗(yàn)室相當(dāng)重要的信息,因此系統(tǒng)為不同角色的 用戶提供了方便的管理后臺進(jìn)行數(shù)據(jù)管理,特別為系統(tǒng)管理員提供了數(shù)據(jù)備份, 日常安全管理,防止系統(tǒng)意外崩潰等功能2.4系統(tǒng)的數(shù)據(jù)需求該系統(tǒng)的開發(fā)主要任務(wù)是實(shí)現(xiàn)對銷售系統(tǒng)自動(dòng)化的處理,所以我們初步規(guī)劃出系統(tǒng)所需要的數(shù)據(jù)有:客戶的基本信息:公司名稱、聯(lián)系人姓名、地址、城市、地區(qū)、郵編、聯(lián)系電話、傳真、主頁、備注;供應(yīng)商基本信息:公司名稱、聯(lián)系人姓名、地址、城市、地區(qū)、郵編、聯(lián)系電話、傳真、主頁、備注;商品的基本信息:商品名稱、商品規(guī)格、規(guī)格單位、商品備注信息;進(jìn)貨的基本信息:供應(yīng)商名稱、商品名稱、商品規(guī)格、商品規(guī)格單位、數(shù)量、單價(jià)、進(jìn)貨日期、備注;銷售的基本信息:客戶名稱、商品名稱、產(chǎn)品規(guī)格、規(guī)格單位、數(shù)量、單價(jià)、銷售日期、折扣、備注第 3 章 系統(tǒng)總體設(shè)計(jì)3.1 系統(tǒng)功能設(shè)計(jì)3.1.1各功能模塊介紹經(jīng)過分析后確定系統(tǒng)應(yīng)具備以下功能:(1) 系統(tǒng)管理功能① 修改密碼:修改正在運(yùn)行的用戶密碼;② 添加用戶:添加新的用戶,并設(shè)置密碼。

    (2)客戶信息管理功能① 供應(yīng)商信息管理:添加、刪除、修改或查詢供應(yīng)商信息② 客戶信息管理:添加、刪除、修改或查詢客戶信息3) 商品信息管理功能 添加、刪除或修改商品信息4) 營銷信息管理功能① 進(jìn)貨信息管理:添加、修改、查詢或刪除進(jìn)貨信息② 銷售信息管理:添加、刪除、修改或查詢進(jìn)貨信息3.1.2 系統(tǒng)總體模塊圖 第 4 章 數(shù)據(jù)庫設(shè)計(jì)4.1 數(shù)據(jù)庫概念設(shè)計(jì)本系統(tǒng)包括的實(shí)體有:客戶、供應(yīng)商、商品、管理員,下面是各實(shí)體的實(shí)體屬性介紹:(1) 管理員描述:銷售管理中存儲(chǔ)的所有管理員信息(包括所有查詢的所需信息)其中包含屬性 用戶名:用于標(biāo)識登陸系統(tǒng)的用戶賬號,具有唯一性 用戶密碼:用于對應(yīng)登陸用戶名的密碼(2) 供應(yīng)商信息supperliers描述:銷售管理中存儲(chǔ)的所有供應(yīng)商信息其中包含屬性 CompanyName:用于標(biāo)識供應(yīng)商,具有唯一性ContactName:用于標(biāo)識聯(lián)系人姓名Address:用于標(biāo)志供應(yīng)商公司地址City:用于標(biāo)識供應(yīng)商所在城市Region:用于標(biāo)識地區(qū)信息PostalCode:用于標(biāo)識郵編Phone:用于標(biāo)識聯(lián)系電話Fax:用于標(biāo)識傳真信息HomePage:用于標(biāo)識公司主頁SupplierMemo:用于標(biāo)識備注信息(3) 客戶信息 customers描述:銷售管理中存儲(chǔ)的所有客戶信息其中包含屬性 CompanyName:用于標(biāo)識客戶公司,具有唯一性ContactName:用于標(biāo)識聯(lián)系人姓名Address:用于標(biāo)志客戶公司地址City:用于標(biāo)識客戶所在城市Region:用于標(biāo)識地區(qū)信息PostalCode:用于標(biāo)識郵編Phone:用于標(biāo)識聯(lián)系電話Fax:用于標(biāo)識傳真信息HomePage:用于標(biāo)識公司主頁SupplierMemo:用于標(biāo)識備注信息(4) 商品信息 products描述:銷售管理中存儲(chǔ)的所有商品信息其中包含屬性 ProducName:用于標(biāo)識商品,具有唯一性 Spec:用于標(biāo)識商品規(guī)格 Unit:用于標(biāo)識商品規(guī)格單位 Productmemo:用于標(biāo)識備注信息系統(tǒng)總體E-R圖:4.2數(shù)據(jù)庫邏輯設(shè)計(jì)4.2.1表匯總各數(shù)據(jù)庫表的簡要說明:表名簡要說明Customers銷售管理中存儲(chǔ)的所有客戶信息Orders銷售管理中存儲(chǔ)的所有商品銷售信息Supplies銷售管理中存儲(chǔ)的所有供應(yīng)商信息Sstock銷售管理中存儲(chǔ)的所有商品進(jìn)貨信息Products銷售管理中存儲(chǔ)的所有商品信息User_Info銷售管理中存儲(chǔ)的所有管理員信息4.2.2 表邏輯結(jié)構(gòu)設(shè)計(jì) 表1 customers表字段名數(shù)據(jù)類型長度描述是否主鍵CompanyNamevarchar40客戶公司名稱是ContactNamevarchar30聯(lián)系人姓名否Addressvarchar60聯(lián)系地址否Cityvarchar15城市姓名否Regionvarchar10地區(qū)姓名否PostalCodevarchar10郵政編碼否Phonevarchar24聯(lián)系電話否Faxvarchar24傳真否Homepagevarchar50公司主頁否CustomerMemotext16備注信息否 表2 orders表(銷售表)字段名數(shù)據(jù)類型長度描述是否主鍵CustomerNamevarchar40客戶名稱是ProducNamevarchar40商品名稱是Specvarchar20商品規(guī)格否Unitvarchar20商品規(guī)格單位否Quantityvarchar20商品數(shù)量否UnitPricefloat8商品單價(jià)否OrderDatedatetime8銷售日期否Discountfloat8折扣否Ordermemotext16備注否 表3 products表(商品表)字段名數(shù)據(jù)類型長度描述是否主鍵ProductNamevarchar40商品名稱是Specvarchar20商品規(guī)格否Unitvarchar20商品規(guī)格單位否Productmemotext16備注否 表4 sstock表(進(jìn)貨表)字段名數(shù)據(jù)類型長度描述是否主鍵ProviderNamevarchar40商品公司名稱是ProductNamevarchar40商品名稱是Specvarchar20商品規(guī)格否Unitvarchar20商品規(guī)格單位否Quantityvarchar20商品數(shù)量否UnitPricefloat8商品單價(jià)否StockDatedatetime8進(jìn)貨日期否Stockmemotext16備注否 表5 suppliers表(供應(yīng)商表)字段名數(shù)據(jù)類型長度描述是否主鍵CompanyNamevarchar40供應(yīng)商公司名稱是ContactNamevarchar30聯(lián)系人姓名否Addressvarchar60聯(lián)系地址否Cityvarchar15城市姓名否Regionvarchar10地區(qū)姓名否PostalCodevarchar10郵政編碼否Phonevarchar24聯(lián)系電話否Faxvarchar24傳真否Homepagevarchar50公司主頁否SuppplierMemotext16備注信息否第 5 章 詳細(xì)設(shè)計(jì)5.1 程序結(jié)構(gòu)的設(shè)計(jì)數(shù)據(jù)流圖(DFD)本系統(tǒng)的數(shù)據(jù)流圖如下圖所示:圖1 頂級數(shù)據(jù)流圖圖2 添加或刪除相關(guān)信息數(shù)據(jù)流圖圖3 查詢信息數(shù)據(jù)流圖 5.2 頁面設(shè)計(jì)5.2.1 登錄界面通過用戶輸入的用戶名及密碼,獲取數(shù)據(jù)庫中此用戶名的詳細(xì)信息,如果不存在,提示用戶不存在錯(cuò)誤;若密碼不匹配,提示輸入密碼不正確;數(shù)據(jù)庫鏈接不正常,記錄日志;系統(tǒng)獲取用戶信息后,若用戶名密碼匹配,根據(jù)角色進(jìn)入不同頁面下面是登錄窗口:5.2.2管理界面管理員登錄后,進(jìn)入管理界面,可以通過左上面的菜單連接到不同的功能界面,實(shí)現(xiàn)不同的功能,此菜單是跟管理模塊圖對應(yīng)的。

    5.2.3用戶管理用戶可以對當(dāng)前密碼進(jìn)行修改,超級用戶可以添加新的用戶5.2.4客戶信息管理銷售的客戶包括供貨商和銷售客戶,所以客戶信息管理對應(yīng)了二者的添加、刪除、修改和查詢5.2.5商品信息管理商品信息的管理包括對商品的各種標(biāo)準(zhǔn)管理,可以添加新的商品或修改和刪除就的商品5.2.6營銷信息管理營銷信息包括進(jìn)貨和銷售,二者的添加修改和刪除操作很多比較類似因?yàn)檫M(jìn)貨的商品種類是固定的,所以只有數(shù)量和單價(jià)及備注是可以填寫的,其他均是默認(rèn)值5.3編寫代碼5.3.1 ADO連接BOOL CTrade_MISApp::InitInstance(){ AfxEnableControlContainer(); // Init Login Count m_iLoginCount = 0; // Create ADO Connection if( FAILED(::CoInitialize(NULL)) ) //初始化COM環(huán)境 { AfxMessageBox("ADO Init failed"); return false; } try { ADOConn.CreateInstance(__uuidof(Connection));//創(chuàng)建連接對象實(shí)例 ADOConn->Open("DSN=Trade_MIS;Provider=MSDASQL","sa","", adConnectUnspecified);//ADOConn作為連接對象指針 }//打開數(shù)據(jù)庫 // Catch Exceptions catch(_com_error &e) { CString err; err.Format("%s", (char*)(e.Description()) ); AfxMessageBox(err); } catch(...) { AfxMessageBox("Unknown Error..."); } // Init ADO RecordSet m_pADOSet.CreateInstance(__uuidof(Recordset));//創(chuàng)建記錄集對象實(shí)例 SetRegistryKey(_T("Local AppWizard-Generated Applications")); LoadStdProfileSettings(); // Load standard INI file options (including MRU) // Register the application's document templates. Document templates // serve as the connection between documents, frame windows and views. // Popup Login Dialog CLoginDLG dlg; if ( IDOK!=dlg.DoModal() ) return false; CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CTrade_MISDoc), RUNTIME_CLASS(CMainFrame), // main SDI frame window RUNTIME_CLASS(CTrade_MISView)); AddDocTemplate(pDocTemplate); m_nCmdShow = SW_SHOWMAXIMIZED;//Max window when show // Parse command line for standard shell commands, DDE, file open CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); // Dispatch commands specified on the command line if (!ProcessShellCommand(cmdInfo)) return FALSE; // The one and only window has been initialized, so show and update it. m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->SetWindowText(_T("銷售管理系統(tǒng)")); m_pMainWnd->UpdateWindow(); return TRUE;}// CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog{public: CAboutDlg();// Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL// Implementationprotected: //{{AFX_MSG(CAboutDlg) // No message handlers //}}AFX_MSG DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){ //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT}void CAboutDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP}// App command to run the dialogvoid CTrade_MISApp::OnAppAbout(){ CAboutDlg aboutDlg; aboutDlg.DoModal();}//執(zhí)行SQL語句的函數(shù)如下:bool CTrade_MISApp::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)//ADOSet作為引用,起到指針作用,是記錄集對象指針{ if ( ADOSet->State == adStateOpen) ADOSet->Close(); try { ADOSet->Open(strSQL, ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);//打開記錄集 return true;//執(zhí)行成功返回真值 } catch(_com_error &e) { CString err; err.Format("ADO Error: %s",(char*)e.Description()); AfxMessageBox(err); return false;//捕捉到錯(cuò)誤返回假值 }}int CTrade_MISApp::ExitInstance() //斷開數(shù)據(jù)庫連接的函數(shù){ // TODO: Add your specialized code here and/or call the base class // Release ADO RecordSet//釋放指針 if(adStateOpen==m_pADOSet->State) m_pADOSet->Close();//關(guān)閉記錄集 m_pADOSet.Release(); // Release ADO Connection//斷開連接 if( adStateOpen == ADOConn->State ) ADOConn->Close();//斷開數(shù)據(jù)庫連接 ADOConn.Release(); return CWinApp::ExitInstance();}5.3.2 更改密碼void CChangePwdDLG::OnOK() { UpdateData(true); // 確保密碼輸入非空 if ( ""==m_sPWD1 ) { AfxMessageBox(_T("密碼不能未空"), MB_ICONEXCLAMATION); return; } //判斷兩次輸入的密碼一致 if ( 0!=m_sPWD1.Compare(m_sPWD2) ) { AfxMessageBox(_T("兩次輸入密碼不一樣,請確認(rèn)"), MB_ICONEXCLAMATION); return; } CDialog::OnOK();}BOOL CChangePwdDLG::OnInitDialog() { CDialog::OnInitDialog(); ((CEdit*)GetDlgItem(IDD_CHANGEPWD_PWD1))->SetLimitText(10); ((CEdit*)GetDlgItem(IDD_CHANGEPWD_PWD2))->SetLimitText(10); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE}5.3.3 登錄void CLoginDLG::OnOK() { // TODO: Add extra validation here // Check UserName Vadilaty UpdateData(true); m_sUSER.TrimRight(" "); //刪除空格 if ( ""==m_sUSER ) {//用戶名輸入為空 AfxMessageBox(_T("請?zhí)顚懹脩裘?), MB_ICONEXCLAMATION); return; } _variant_t Holder, strQuery; strQuery = "select user_ID, user_PWD from user_Info where user_ID='"+m_sUSER+"'";//查詢用戶名和密碼 theApp.ADOExecute(theApp.m_pADOSet, strQuery);//執(zhí)行查詢語句,獲得記錄集 int iCount = theApp.m_pADOSet->GetRecordCount();//獲取記錄條數(shù) if (iCount==0) {//若數(shù)據(jù)庫中記錄數(shù)為0 theApp.m_iLoginCount++;//登錄計(jì)數(shù) if ( theApp.m_iLoginCount>2 ) {//輸入次數(shù)為三次 AfxMessageBox("沒有這個(gè)用戶\n三次輸入均不正確,請核對后再來", MB_ICONEXCLAMATION); CDialog::OnCancel(); return; } AfxMessageBox("沒有這個(gè)用戶,請重新輸入用戶名", MB_ICONEXCLAMATION); return; } CString sPWD; theApp.m_pADOSet->MoveFirst();//指向第一條記錄 Holder = theApp.m_pADOSet->GetCollect("user_PWD");//獲取記錄中user_PWD值 sPWD = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder; if ( 0!=sPWD.Compare(m_sPWD) ) {//若sPWD和m_sPWD不相等 theApp.m_iLoginCount++;//登錄次數(shù)加1 if ( theApp.m_iLoginCount>2 ) {//登錄3次 AfxMessageBox("輸入密碼不正確\n三次輸入均不正確,請核對后再來", MB_ICONEXCLAMATION); CDialog::OnCancel(); return; } AfxMessageBox("輸入密碼不正確,請重新輸入", MB_ICONEXCLAMATION); return; } // Get Login User theApp.m_sCurrentUser = m_sUSER; CDialog::OnOK();}5.3.4 客戶管理BOOL CCustomerDLG::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here // Set Windows Text if (m_bAppend) SetWindowText(_T("添加客戶信息")); else SetWindowText(_T("修改客戶信息")); m_sOldCompany = m_sCompany; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE}void CCustomerDLG::OnOK() { // TODO: Add extra validation here UpdateData(true); m_sCompany.TrimRight(" "); m_sPerson.TrimRight(" "); m_sAddress.TrimRight(" "); m_sCity.TrimRight(" "); m_sArea.TrimRight(" "); m_sPostCode.TrimRight(" "); m_sPhone.TrimRight(" "); m_sFax.TrimRight(" "); m_sHomePage.TrimRight(" "); // Make sure all needed info is available CString sWarning=""; if ( ""==m_sCompany ) sWarning=_T("公司名稱"); else if ( ""==m_sPerson ) sWarning=_T("聯(lián)系人姓名"); else if ( ""==m_sAddress ) sWarning=_T("聯(lián)系地址"); else if ( ""==m_sCity ) sWarning=_T("城市名稱"); else if ( ""==m_sArea ) sWarning=_T("地區(qū)名稱"); else if ( ""==m_sPostCode ) sWarning=_T("郵政編碼"); else if ( ""==m_sPhone ) sWarning=_T("聯(lián)系電話"); else if ( ""==m_sFax ) sWarning=_T("傳真號碼"); else if ( ""==m_sHomePage ) sWarning=_T("公司主頁"); if ( ""!=sWarning ) { sWarning += _T("不能為空"); AfxMessageBox(sWarning, MB_ICONEXCLAMATION); return; } _variant_t strQuery; if ( m_bAppend || m_sCompany!=m_sOldCompany ) { // Judge Customer is unique strQuery = "select * from customers where CompanyName='"+m_sCompany+"'"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); if ( 0!=iCount ) { AfxMessageBox(_T("已經(jīng)存在此公司記錄!"), MB_ICONEXCLAMATION); return; } } if ( !m_bAppend ) // Not Append, delete old record first { strQuery = "delete from customers where CompanyName='"+m_sOldCompany+"'"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); } // Insert Record strQuery = "insert customers (CompanyName, ContactName, Address, City, Region, PostalCode, Phone,Fax, HomePage, CustomerMemo) \ values ('"+m_sCompany+"', '"+m_sPerson+"', '"+m_sAddress+"', '"+m_sCity+"', '"+m_sArea+"', '"+m_sPostCode+"', '"+m_sPhone+"', '"+m_sFax+"', '"+m_sHomePage+"', '"+m_sMemo+"')"; if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) ) { if (m_bAppend) { AfxMessageBox(_T("添加客戶信息成功!"), MB_ICONINFORMATION); // Clear all input m_sCompany=m_sPerson=m_sAddress=m_sCity=m_sArea=m_sPostCode=m_sPhone=m_sFax=m_sHomePage=m_sMemo=""; UpdateData(false); } else AfxMessageBox(_T("修改客戶信息成功!"), MB_ICONINFORMATION); } else { if (m_bAppend) AfxMessageBox(_T("添加客戶信息失??!"), MB_ICONEXCLAMATION); else AfxMessageBox(_T("修改客戶信息失?。?), MB_ICONEXCLAMATION); } strQuery = "select * from customers"; CTrade_MISView* p = (CTrade_MISView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView()); p->RefreshCustomer(strQuery); if (!m_bAppend) CDialog::OnOK();}5.3.5 商品管理BOOL CProductDLG::OnInitDialog() { CDialog::OnInitDialog(); //設(shè)置對話框標(biāo)題,m_bAppend設(shè)為true表示添加,false表示修改 if (m_bAppend) SetWindowText。

    點(diǎn)擊閱讀更多內(nèi)容
    最新文檔
    傳統(tǒng)文化道德不是高懸的明月而是腳下的星光.pptx
    世界無煙日關(guān)注青少年成長健康無煙為成長護(hù)航.pptx
    五四青年節(jié)詩詞贊歌五四青年自強(qiáng)不息.pptx
    XX學(xué)校班主任培訓(xùn)用心管理慧做班主任.pptx
    拒絕熬夜健康養(yǎng)生規(guī)律作息遠(yuǎn)離亞健康.pptx
    兒童成長手冊時(shí)光里的童真印記.pptx
    幼兒園夏季傳染病預(yù)防指南預(yù)見夏天健康童行夏季傳染病預(yù)防科普.pptx
    高中生心理健康教育主題班會(huì)快樂學(xué)習(xí)高效學(xué)習(xí)正視壓力學(xué)會(huì)減壓.pptx
    員工職業(yè)道德與職業(yè)素養(yǎng)培訓(xùn)遵守職業(yè)道德提高職業(yè)修養(yǎng).pptx
    2025職業(yè)病防治法宣傳周健康守護(hù)職防同行.pptx
    XX幼兒園防災(zāi)減災(zāi)安全教育臨災(zāi)不亂安全童行學(xué)會(huì)保護(hù)自己.pptx
    在2025年縣教育工作大會(huì)暨高考備考工作推進(jìn)會(huì)上的講話發(fā)言材料.docx
    在2025年縣全面從嚴(yán)治黨和黨風(fēng)廉政會(huì)議上的講話發(fā)言材料.docx
    在2025年全市慶祝“五一”暨勞動(dòng)模范表彰大會(huì)上的講話發(fā)言材料多篇.docx
    2025年稅務(wù)局青年代表在五四青年座談會(huì)上的發(fā)言材料3篇.docx
    在2025年市委全體會(huì)議上的主持講話發(fā)言材料.docx
    2025年黨風(fēng)廉政建設(shè)工作要點(diǎn)材料.docx
    在2025年全市青年干部慶祝五四青年節(jié)大會(huì)上的講話發(fā)言材料多篇.docx
    在入黨積極分子培訓(xùn)班上的講話發(fā)言材料.docx
    縣文旅局黨組書記在五一假期及夏季旅游安全生產(chǎn)工作部署會(huì)議上的講話發(fā)言材料.docx
    賣家[上傳人]:仙人指路
    資質(zhì):實(shí)名認(rèn)證