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



《數(shù)據(jù)庫課程設(shè)計報告銷售管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫課程設(shè)計報告銷售管理系統(tǒng)(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 數(shù)據(jù)庫系統(tǒng)課程設(shè)計 目錄 第 1 章 前言 ....................................................... 1 1.1 課題背景................................................. 1 1.2 開發(fā)工具................................................. 1 1.2.1 SQL Server 2005................................ 2 1.2.2 MFC.........
2、...................................... 2 1.2.3 ADO............................................... 2 第2章 需求分析..................................................... 3 2.1 任務(wù)概述.................................................. 3 2.1.1任務(wù)目標............................................. 3
3、 2.1.2用戶特點............................................. 3 2.2 系統(tǒng)的功能需求 ............................................ 3 2.2.1 系統(tǒng)角色功能需求 ................................... 3 2.2.2 功能模塊 ........................................... 3 2.3 系統(tǒng)的性能需求 ............................................ 3
4、2.4 系統(tǒng)的數(shù)據(jù)需求 ............................................ 4 第 3 章 系統(tǒng)總體設(shè)計 ................................................ 5 3.1 系統(tǒng)功能設(shè)計 .............................................. 5 3.1.1 各功能模塊介紹 ...................................... 5 3.1.2 系統(tǒng)總體模塊圖 ...................................... 5
5、 第 4 章 數(shù)據(jù)庫設(shè)計 ................................................... 6 4.1 數(shù)據(jù)庫概念設(shè)計 ............................................ 6 4.2 數(shù)據(jù)庫邏輯設(shè)計 ............................................ 7 4.2.1 表匯總 ............................................. 7 4.2.2 表邏輯結(jié)構(gòu)設(shè)計 ..................................
6、... 7 第 5 章 詳細設(shè)計 .................................................... 9 5.1 程序結(jié)構(gòu)的設(shè)計 ............................................. 9 5.2 頁面設(shè)計 ................................................... 10 5.2.1 登錄界面 ............................................ 10 5.2.2 管理界面 ..........................
7、...................10 5.2.3 用戶管理 .............................................11 5.2.4 客戶信息管理 ........................................ 11 5.2.5 商品信息管理 .........................................12 5.2.6 營銷信息管理 .........................................12 5.3 編碼設(shè)計 .............................
8、...................... 13 5.3.1ADO連接 ................................................. 13 5.3.2 更改密碼 .............................................. 17 5.3.3 登錄…………........................................... 17 5.3.4 客戶管理.............................................. 18 5.3.5 商品管理...............
9、........................... …….21 5.3.6 銷售管理.......................................... ……..23 第 6 章 結(jié)論與展望 .................................................. 31 6.1 結(jié)論 ........................................................ 31 6.2 系統(tǒng)不足 .................................................... 31 6.
10、3 感謝........................................... …………………31 參考文獻 ........................................................... 31 第1章 前言 1.1 課題背景 隨著中國電子商務(wù)、互聯(lián)網(wǎng)業(yè)務(wù)的迅猛發(fā)展,國內(nèi)許多企業(yè)已跨入電腦網(wǎng)絡(luò)管理時代,并因此提高了管理效率和市場競爭力。但目前仍有部分企業(yè)還停留在原始計賬管理階段。而隨著全球經(jīng)濟信息化的進程和WTO的成功實現(xiàn),企業(yè)面臨著前所未有的機遇和挑戰(zhàn),在如此激變的社會形勢和激烈的市場競爭下,愈來愈多的企業(yè)管理者意識到
11、效率管理和科學管理的重要性,以及增強市場競爭力的迫切性,因此建立科學、規(guī)范、高效的管理制度和秉承富有競爭力的經(jīng)營理念是每一個企業(yè)管理者的渴望,企業(yè)采用電腦管理進貨、庫存、銷售等諸多環(huán)節(jié)也已成為趨勢及必然。 許多從事商業(yè)活動的企業(yè)都需要采購商品、銷售商品以及將商品暫時存儲在倉庫中,對這一工作流程進行有效地管理和控制,對這些企業(yè)來說是非常重要。在進貨、庫存、銷售環(huán)節(jié)中,由于商品種類繁多、業(yè)務(wù)量大、庫存管理復雜,使用手工操作的工作量很大,在操作過程中也很容易出現(xiàn)各種錯誤。而采用計算機管理則可以大大提高日常工作的效率,不僅將原來由手工操作的進貨、出貨及銷售這一整套流程用計算機進行全程管理,而且消除了
12、手工操作中可能存在的不確定因素,達到進銷存管理流程清晰,從而能夠比較徹底地貫徹經(jīng)營者的管理模式。 由于科學技術(shù)的不斷發(fā)展,計算機科學日漸成熟,其強大的功能已為人們所深刻認識,它己進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。采用計算機進行信息化管理已成為衡量企業(yè)管理科學化和現(xiàn)代化的重要標志,而銷售管理的全面自動化、信息化則是其中重要的組成部分。銷售管理的好壞對于企業(yè)的決策者和管理者來說都至關(guān)重要,在很大程度上影響著企業(yè)的經(jīng)濟效益和社會效益。因此,本文所研究的銷售管理系統(tǒng)具有一定的使用價值和現(xiàn)實意義。 一直以來人們使用傳統(tǒng)人工的方式進行銷售管理,這種管理方式存在著諸多缺點,如:工作量
13、大、效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。鑒于此,本文研究了一種基于關(guān)系型數(shù)據(jù)庫的銷售管理方案。利用SQL Server2005數(shù)據(jù)庫管理系統(tǒng)靈活性和開發(fā)效率高的特點,采用面向?qū)ο蟮腣C的方法,開發(fā)出銷售管理系統(tǒng)。該系統(tǒng)具有手工管理所無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、信息利用率高、成本低等。該系統(tǒng)能夠極大地提高銷售管理的效率,優(yōu)化企業(yè)的人力、物力,降低企業(yè)的管理成本,為企業(yè)銷售管理的信息化、正規(guī)化奠定了堅實的基礎(chǔ)。 1.2 開發(fā)工具 本文所采用的開發(fā)工具主要是基于數(shù)據(jù)庫系統(tǒng)的SQL Server
14、 2005 和基于面向?qū)ο蟪绦蛟O(shè)計的VC,主要利用其MFC技術(shù)。利用SQL Server 2005創(chuàng)建商場客戶表、商品表、商品供應(yīng)商表、進貨表、銷售表以及用VC連接數(shù)據(jù)庫用的用戶信息表。利用ADO連接的方法訪問數(shù)據(jù)庫。利用VC和數(shù)據(jù)庫建立連接之后,利用VC中的控件按鈕以及一些程序代碼實現(xiàn)一些特定的功能,例如營銷信息查詢、刪除、修改等,極大地提高了銷售管理的效率。 1.2.1 SQL Server 2005 SQL Server 2005 是微軟公司動用上千人的研發(fā)力量,耗費五年時間打造出來 的產(chǎn)品,在企業(yè)及數(shù)據(jù)庫產(chǎn)品中具有里程碑的意義。SQL Server 2005 是一個關(guān)系 數(shù)據(jù)庫管
15、理系統(tǒng),是一個全面的數(shù)據(jù)庫平臺,其數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu) 化數(shù)據(jù)提供了更安全可靠的存儲功能。SQL Server 2005 結(jié)合了分析、報表、集 成和通知功能,引進了一套集成的管理工具和管理應(yīng)用編程接口,以提供易用性、 可管理性及對大型 SQL Server 配置的支持。其新的查詢類型和在交易過程中使用 錯誤處理的功能,為開發(fā)人員在 SQL Server 查詢開發(fā)方面提供了更高的靈活性和 控制力。 SQL Server 可以適合大容量數(shù)據(jù)的應(yīng)用,在功能上和管理上都比 Microsoft Access 要強的多。在處理海量數(shù)據(jù)的效率,后臺開發(fā)的靈活性,可擴展等方面強 大。在 S
16、QL Server 2005 中還可以使用存儲過程,在服務(wù)器執(zhí)行操作時,減少網(wǎng)絡(luò) 通訊,提高了執(zhí)行效率,而且保證了數(shù)據(jù)庫的安全。 1.2.2 MFC MFC,微軟基礎(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類派生的幾個類和一個CWinApp類對象(應(yīng)
17、用程序?qū)ο螅┙M成。MFC 提供了MFC AppWizard 自動生成框架。 Windows 應(yīng)用程序中,MFC 的主包含文件為"Afxwin.h"。 此外MFC的部分類為MFC/ATL 通用,可以在Win32 應(yīng)用程序中單獨包含并使用這些類。 由于它的易用性,初學者常誤認為VC++開發(fā)必須使用MFC。這種想法是錯誤的。作為Application Framework,MFC的使用只能提高某些情況下的開發(fā)效率,只起到輔助作用,而不能替代整個Win32 程序設(shè)計。 1.2.3 ADO 微軟公司的ADO (ActiveX Data Objects) 是一個用于存取數(shù)據(jù)源的CO
18、M組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLEDB的一個中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接。訪問數(shù)據(jù)庫的時候,關(guān)于SQL的知識不是必要的,但是特定數(shù)據(jù)庫支持的SQL命令仍可以通過ADO中的命令對象來執(zhí)行。ADO被設(shè)計來繼承微軟早期的數(shù)據(jù)訪問對象層,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。 第 2 章 需求分析 2.1 任務(wù)概述 2.1.1 系統(tǒng)目標 銷售管理系統(tǒng)是為了提高銷售管理效率而開發(fā)的。它包括客戶信息管理、商品信息管理、營銷信息管理等模塊,并
19、提供了查詢、修改、添加、刪除等功能。銷售管理系統(tǒng)能簡化貿(mào)易公司在銷售管理方面的復雜性,和減少在管理上的龐大開銷。隨著計算機行業(yè)的飛速發(fā)展,人類已經(jīng)進入了信息時代,社會中的各個單位、部門也陸續(xù)開始使用軟件化的管理模式,由于它具有方便、準確、快速、靈活的特點,使得在管理上實現(xiàn)了自動化、一體化、多元化的目標。 本課程設(shè)計開發(fā)了一個銷售管理系統(tǒng),該系統(tǒng)完成了對商品進貨、商品銷售、供應(yīng)商信息、客戶信息等的添加、修改、刪除、查詢等功能,迅速準確地完成各種工作,大大提高了企業(yè)的管理效率。 2.1.2用戶特點 許多從事商業(yè)活動的企業(yè)都需要采購商品、銷售商品以及將商品暫時存儲在倉庫中,對這一工作流程進行有
20、效地管理和控制,對這些企業(yè)來說是非常重要。在進貨、庫存、銷售環(huán)節(jié)中,由于商品種類繁多、業(yè)務(wù)量大、庫存管理復雜,使用手工操作的工作量很大,在操作過程中也很容易出現(xiàn)各種錯誤。本系統(tǒng)采用計算機管理則可以大大提高日常工作的效率,不僅將原來由手工操作的進貨、出貨及銷售這一整套流程用計算機進行全程管理,而且消除了手工操作中可能存在的不確定因素,達到進銷存管理流程清晰,從而能夠比較徹底地貫徹經(jīng)營者的管理模式。 2.2系統(tǒng)的功能需求 2.2.1 角色功能需求 本系統(tǒng)共包含供應(yīng)商、商品、客戶三中角色: (1)供應(yīng)商:包括商品供應(yīng)商和商品的品牌商兩種,我們可以通過添加、修改和刪除等操作對這兩種供應(yīng)商進行更
21、新; (2)商品:進貨和銷售功能均以商品為主體,同時可以添加商品的數(shù)量; (3)客戶:客戶可以采購商品,也可以添加客戶的數(shù)量及信息 2.2.2功能模塊 系統(tǒng)包括管理員信息模塊、客戶信息模塊、商品信息模塊、營銷信息模塊(進貨和銷售管理)、供應(yīng)商信息模塊。 (1)管理員信息模塊功能需求:可以添加新的用戶及密碼,也可以更改當前用戶的密碼; (2)客戶信息模塊功能需求:可以添加新客戶的各種信息,也可以進行刪除、修改和查詢; (3)商品信息模塊功能需求:能夠添加新的商品,也可以對以前的商品信息進行刪除、修改和查詢; (4)營銷信息模塊功能需求:包括進貨和銷售信息,可以對其進行添加、刪除、
22、修改和查詢; (5)供應(yīng)商信息模塊功能需求:可以添加、刪除、修改和查詢供應(yīng)商的信息。 2.3 系統(tǒng)的性能分析 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,系統(tǒng)應(yīng)該滿足以下的性能需求: (1)系統(tǒng)處理的準確性和及時性 系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要充分考慮系統(tǒng)當前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足用戶對信息的處理。由于系統(tǒng)的查詢功能對于整個系統(tǒng)的功能和性能完成很重要。從系統(tǒng)的多個數(shù)據(jù)來源來看,學生信息查詢、教師信息查詢、實驗信息 查詢、排課結(jié)果查詢、實驗成績查詢,其準確性很大程度上決定了系統(tǒng)的成敗。 因此,在系統(tǒng)
23、開發(fā)過程中,系統(tǒng)采用優(yōu)化的 SQL 語句及安全擴展存儲過程來保證 系統(tǒng)的準確性和及時性。 (2)系統(tǒng)的開放性和系統(tǒng)的可擴充性 系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴充性。例如實驗信息屬性添加、修改,用戶查詢的需求及管理工作的分級管理等模塊也會不斷的更新和完善。所 有這些,都要求系統(tǒng)提供足夠的手段進行功能的調(diào)整和擴充。而要實現(xiàn)這一點, 應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個開放系統(tǒng),只要符合一定的規(guī)范, 可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補、替換完 成系統(tǒng)的升級和更新?lián)Q代。 (3)系統(tǒng)的易用性和易維護性 系統(tǒng)是直接面對使用人員的,而有些使用人員往往對計算機并不
24、是非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這一點, 就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn) 的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。 系統(tǒng)中涉及到的數(shù)據(jù)是高校實驗室相當重要的信息,因此系統(tǒng)為不同角色的 用戶提供了方便的管理后臺進行數(shù)據(jù)管理,特別為系統(tǒng)管理員提供了數(shù)據(jù)備份, 日常安全管理,防止系統(tǒng)意外崩潰等功能。 2.4系統(tǒng)的數(shù)據(jù)需求 該系統(tǒng)的開發(fā)主要任務(wù)是實現(xiàn)對銷售系統(tǒng)自動化的處理,所以我們初步規(guī)劃出系統(tǒng)所需要的數(shù)據(jù)有: 客戶的基本信息:公司名稱、聯(lián)系人姓名、地址、城市、地區(qū)、郵編、聯(lián)系電話、傳真、主頁
25、、備注; 供應(yīng)商基本信息:公司名稱、聯(lián)系人姓名、地址、城市、地區(qū)、郵編、聯(lián)系電話、傳真、主頁、備注; 商品的基本信息:商品名稱、商品規(guī)格、規(guī)格單位、商品備注信息; 進貨的基本信息:供應(yīng)商名稱、商品名稱、商品規(guī)格、商品規(guī)格單位、數(shù)量、單價、進貨日期、備注; 銷售的基本信息:客戶名稱、商品名稱、產(chǎn)品規(guī)格、規(guī)格單位、數(shù)量、單價、銷售日期、折扣、備注。 第 3 章 系統(tǒng)總體設(shè)計 3.1 系統(tǒng)功能設(shè)計 3.1.1各功能模塊介紹 經(jīng)過分析后確定系統(tǒng)應(yīng)具備以下功能: (1) 系統(tǒng)管理功能 ① 修改密碼:修改正在運行的用戶密碼; ② 添加用戶:添加新的用戶,并設(shè)置密碼。 (2
26、)客戶信息管理功能 ① 供應(yīng)商信息管理:添加、刪除、修改或查詢供應(yīng)商信息。 ② 客戶信息管理:添加、刪除、修改或查詢客戶信息。 (3) 商品信息管理功能 添加、刪除或修改商品信息。 (4) 營銷信息管理功能 ① 進貨信息管理:添加、修改、查詢或刪除進貨信息。 ② 銷售信息管理:添加、刪除、修改或查詢進貨信息。 3.1.2 系統(tǒng)總體模塊圖 第 4 章 數(shù)據(jù)庫設(shè)計 4.1 數(shù)據(jù)庫概念設(shè)計 本系統(tǒng)包括的實體有:客戶、供應(yīng)商、商品、管理員,下面是各實體的實體屬性介紹: (1) 管理員 描述:銷售管理中存儲的所有
27、管理員信息(包括所有查詢的所需信息) 其中包含屬性 用戶名:用于標識登陸系統(tǒng)的用戶賬號,具有唯一性 用戶密碼:用于對應(yīng)登陸用戶名的密碼 (2) 供應(yīng)商信息supperliers 描述:銷售管理中存儲的所有供應(yīng)商信息 其中包含屬性 CompanyName:用于標識供應(yīng)商,具有唯一性 ContactName:用于標識聯(lián)系人姓名 Address:用于標志供應(yīng)商公司地址 City:用于標識供應(yīng)商所在城市 Region:用于標識地區(qū)信息 PostalCode:用于標識郵編 Phone:用于標識聯(lián)系電話 Fax:用于標識傳
28、真信息 HomePage:用于標識公司主頁 SupplierMemo:用于標識備注信息 (3) 客戶信息 customers 描述:銷售管理中存儲的所有客戶信息 其中包含屬性 CompanyName:用于標識客戶公司,具有唯一性 ContactName:用于標識聯(lián)系人姓名 Address:用于標志客戶公司地址 City:用于標識客戶所在城市 Region:用于標識地區(qū)信息 PostalCode:用于標識郵編 Phone:用于標識聯(lián)系電話 Fax:用于標識傳真信息 HomePage:用于標識公司主頁 SupplierMemo:用于標識備注信息 (4
29、) 商品信息 products 描述:銷售管理中存儲的所有商品信息 其中包含屬性 ProducName:用于標識商品,具有唯一性 Spec:用于標識商品規(guī)格 Unit:用于標識商品規(guī)格單位 Productmemo:用于標識備注信息 系統(tǒng)總體E-R圖: 4.2數(shù)據(jù)庫邏輯設(shè)計 4.2.1表匯總 各數(shù)據(jù)庫表的簡要說明: 表名 簡要說明 Customers 銷售管理中存儲的所有客戶信息 Orders 銷售管理中存儲的所有商品銷售信息 Supplie
30、s 銷售管理中存儲的所有供應(yīng)商信息 Sstock 銷售管理中存儲的所有商品進貨信息 Products 銷售管理中存儲的所有商品信息 User_Info 銷售管理中存儲的所有管理員信息 4.2.2 表邏輯結(jié)構(gòu)設(shè)計 表1 customers表 字段名 數(shù)據(jù)類型 長度 描述 是否主鍵 CompanyName varchar 40 客戶公司名稱 是 ContactName varchar 30 聯(lián)系人姓名 否 Address varchar 60 聯(lián)系地址 否 City varchar 15 城市姓
31、名 否 Region varchar 10 地區(qū)姓名 否 PostalCode varchar 10 郵政編碼 否 Phone varchar 24 聯(lián)系電話 否 Fax varchar 24 傳真 否 Homepage varchar 50 公司主頁 否 CustomerMemo text 16 備注信息 否 表2 orders表(銷售表) 字段名 數(shù)據(jù)類型 長度 描述 是否主鍵 CustomerName varchar 40 客戶名稱 是 ProducName var
32、char 40 商品名稱 是 Spec varchar 20 商品規(guī)格 否 Unit varchar 20 商品規(guī)格單位 否 Quantity varchar 20 商品數(shù)量 否 UnitPrice float 8 商品單價 否 OrderDate datetime 8 銷售日期 否 Discount float 8 折扣 否 Ordermemo text 16 備注 否 表3 products表(商品表) 字段名 數(shù)據(jù)類型 長度 描述 是否主鍵 ProductN
33、ame varchar 40 商品名稱 是 Spec varchar 20 商品規(guī)格 否 Unit varchar 20 商品規(guī)格單位 否 Productmemo text 16 備注 否 表4 sstock表(進貨表) 字段名 數(shù)據(jù)類型 長度 描述 是否主鍵 ProviderName varchar 40 商品公司名稱 是 ProductName varchar 40 商品名稱 是 Spec varchar 20 商品規(guī)格 否 Unit varchar 20 商品規(guī)
34、格單位 否 Quantity varchar 20 商品數(shù)量 否 UnitPrice float 8 商品單價 否 StockDate datetime 8 進貨日期 否 Stockmemo text 16 備注 否 表5 suppliers表(供應(yīng)商表) 字段名 數(shù)據(jù)類型 長度 描述 是否主鍵 CompanyName varchar 40 供應(yīng)商公司名稱 是 ContactName varchar 30 聯(lián)系人姓名 否 Address varchar 60 聯(lián)系地址 否
35、City varchar 15 城市姓名 否 Region varchar 10 地區(qū)姓名 否 PostalCode varchar 10 郵政編碼 否 Phone varchar 24 聯(lián)系電話 否 Fax varchar 24 傳真 否 Homepage varchar 50 公司主頁 否 SuppplierMemo text 16 備注信息 否 第 5 章 詳細設(shè)計 5.1 程序結(jié)構(gòu)的設(shè)計 數(shù)據(jù)流圖(DFD) 本系統(tǒng)的數(shù)據(jù)流圖如下圖所示: 圖1 頂級數(shù)據(jù)流圖 圖2 添加或刪除相關(guān)信息數(shù)據(jù)流
36、圖 圖3 查詢信息數(shù)據(jù)流圖 5.2 頁面設(shè)計 5.2.1 登錄界面 通過用戶輸入的用戶名及密碼,獲取數(shù)據(jù)庫中此用戶名的詳細信息,如果不存在,提示用戶不存在錯誤;若密碼不匹配,提示輸入密碼不正確;數(shù)據(jù)庫鏈接不正常,記錄日志;系統(tǒng)獲取用戶信息后,若用戶名密碼匹配,根據(jù)角色進入不同頁面 下面是登錄窗口: 5.2.2管理界面 管理員登錄后,進入管理界面,可以通過左上面的菜單連接到不同的功能界面,實現(xiàn)不同的功能,此菜單是跟管理模塊圖對應(yīng)的。 5.2.3用戶管理 用戶可以對當前密碼進行修改,超級用戶可以添加
37、新的用戶 5.2.4客戶信息管理 銷售的客戶包括供貨商和銷售客戶,所以客戶信息管理對應(yīng)了二者的添加、刪除、修改和查詢 5.2.5商品信息管理 商品信息的管理包括對商品的各種標準管理,可以添加新的商品或修改和刪除就的商品 5.2.6營銷信息管理 營銷信息包括進貨和銷售,二者的添加修改和刪除操作很多比較類似 因為進貨的商品種類是固定的,所以只有數(shù)量和單價及備注是可以填寫的,其他均是默認值 5.3編寫代碼 5.3.1 ADO連接 BOOL CTrade_MISApp::InitInstance() { AfxEnableControlContainer
38、(); // 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)建連接對象實例 ADOConn->Open("DSN=Trade_MIS;Provid
39、er=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
40、m_pADOSet.CreateInstance(__uuidof(Recordset));//創(chuàng)建記錄集對象實例 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 c
41、onnection 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)
42、, // 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 c
43、ommands 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; } //
44、CAboutDlg dialog used for App About class 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 voi
45、d DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) // No message handlers //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_
46、DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } // App command to run the dialog void CTrade_MISApp::OnAppAbout() { CAboutDlg aboutDlg; aboutDlg.DoModal(); } //執(zhí)行SQL語句的函數(shù)如下: bool C
47、Trade_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í)行成功返回
48、真值 } catch(_com_error &e) { CString err; err.Format("ADO Error: %s",(char*)e.Description()); AfxMessageBox(err); return false;//捕捉到錯誤返回假值 } } int CTrade_MISApp::ExitInstance() //斷開數(shù)據(jù)庫連接的函數(shù) { // TODO: Add your specialized code here and/or call the base class
49、 // 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 更改密碼 v
50、oid CChangePwdDLG::OnOK() { UpdateData(true); // 確保密碼輸入非空 if ( ""==m_sPWD1 ) { AfxMessageBox(_T("密碼不能未空"), MB_ICONEXCLAMATION); return; } //判斷兩次輸入的密碼一致 if ( 0!=m_sPWD1.Compare(m_sPWD2) ) { AfxMessageBox(_T("兩次輸入密碼不一樣,請確認"), MB_ICONEXCLAMATION); return;
51、 } 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
52、 // 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_ICONEXCLA
53、MATION); 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)
54、 {//若數(shù)據(jù)庫中記錄數(shù)為0 theApp.m_iLoginCount++;//登錄計數(shù) if ( theApp.m_iLoginCount>2 ) {//輸入次數(shù)為三次 AfxMessageBox("沒有這個用戶\n三次輸入均不正確,請核對后再來", MB_ICONEXCLAMATION); CDialog::OnCancel(); return; } AfxMessageBox("沒有這個用戶,請重新輸入用戶名", MB_ICONEXCLAMATION); return; } CString sPWD;
55、 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次
56、 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::O
57、nInitDialog() { 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
58、 // 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
59、(" "); 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 ( "
60、"==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_sHomeP
61、age ) 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 c
62、ustomers 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
63、 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, Hom
64、ePage, 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) {
65、 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); } el
66、se { 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è)置對話框標題,m_bAppend設(shè)為true表示添加,false表示修改 if (m_bAppend) SetWindowText
- 溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題黨課講稿:以高質(zhì)量黨建保障國有企業(yè)高質(zhì)量發(fā)展
- 廉政黨課講稿材料:堅決打好反腐敗斗爭攻堅戰(zhàn)持久戰(zhàn)總體戰(zhàn)涵養(yǎng)風清氣正的政治生態(tài)
- 在新錄用選調(diào)生公務(wù)員座談會上和基層單位調(diào)研座談會上的發(fā)言材料
- 總工會關(guān)于2025年維護勞動領(lǐng)域政治安全的工作匯報材料
- 基層黨建工作交流研討會上的講話發(fā)言材料
- 糧食和物資儲備學習教育工作部署會上的講話發(fā)言材料
- 市工業(yè)園區(qū)、市直機關(guān)單位、市紀委監(jiān)委2025年工作計劃
- 檢察院政治部關(guān)于2025年工作計劃
- 辦公室主任2025年現(xiàn)實表現(xiàn)材料
- 2025年~村農(nóng)村保潔員規(guī)范管理工作方案
- 在深入貫徹中央8項規(guī)定精神學習教育工作部署會議上的講話發(fā)言材料4篇
- 開展深入貫徹規(guī)定精神學習教育動員部署會上的講話發(fā)言材料3篇
- 在司法黨組中心學習組學習會上的發(fā)言材料
- 國企黨委關(guān)于推動基層黨建與生產(chǎn)經(jīng)營深度融合工作情況的報告材料
- 副書記在2025年工作務(wù)虛會上的發(fā)言材料2篇