![庫(kù)存管理系統(tǒng)論文_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/5025261f-7cbe-4168-94a9-46fefa4b6606/5025261f-7cbe-4168-94a9-46fefa4b66061.gif)
![庫(kù)存管理系統(tǒng)論文_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/5025261f-7cbe-4168-94a9-46fefa4b6606/5025261f-7cbe-4168-94a9-46fefa4b66062.gif)
![庫(kù)存管理系統(tǒng)論文_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/5025261f-7cbe-4168-94a9-46fefa4b6606/5025261f-7cbe-4168-94a9-46fefa4b66063.gif)
![庫(kù)存管理系統(tǒng)論文_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/5025261f-7cbe-4168-94a9-46fefa4b6606/5025261f-7cbe-4168-94a9-46fefa4b66064.gif)
![庫(kù)存管理系統(tǒng)論文_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/5025261f-7cbe-4168-94a9-46fefa4b6606/5025261f-7cbe-4168-94a9-46fefa4b66065.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、- 76 -信息系統(tǒng)課程設(shè)計(jì)說(shuō)明書 設(shè)計(jì)題目:庫(kù)存管理系統(tǒng) 設(shè) 計(jì) 者: 指導(dǎo)教師: 07信息系統(tǒng)工程2010年 6 月 6 日目錄:第一章 可行性分析1.1開發(fā)環(huán)境與開發(fā)工具1.2可行性報(bào)告1.2.1 開發(fā)必要性1.2.2技術(shù)可行性1.2.3經(jīng)濟(jì)可行性第二章 系統(tǒng)分析 2.1 系統(tǒng)需求分析2.2 功能需求分析2.3 業(yè)務(wù)流程分析2.4 數(shù)據(jù)與數(shù)據(jù)流程分析第三章 系統(tǒng)設(shè)計(jì)3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)3.2 代碼設(shè)計(jì)第四章 設(shè)計(jì)總結(jié)4.1 工作總結(jié)4.2 設(shè)計(jì)過(guò)程總結(jié)4.3 設(shè)計(jì)展望參考文獻(xiàn)第一章 可行性分析1.1開發(fā)環(huán)境和開發(fā)工具操作系統(tǒng):Windows XP 開發(fā)語(yǔ)言:C+數(shù)據(jù)庫(kù): SQL 2000數(shù)
2、據(jù)庫(kù)訪問(wèn)控件:ADO1.2可行性分析 1.2.1 開發(fā)必要性隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet/Intranet應(yīng)用在全球范圍內(nèi)日益普及,當(dāng)今社會(huì)正快速向信息化社會(huì)前進(jìn),信息自動(dòng)化的作用也越來(lái)越大,從而可以使我們從繁雜的信息管理中解放出來(lái),提高了我們的工作效率。如今,信息網(wǎng)絡(luò)技術(shù)已經(jīng)無(wú)處不在,無(wú)時(shí)不在了,各種各樣的信息管理系統(tǒng)也就應(yīng)運(yùn)而生。目前,隨著企業(yè)規(guī)模的不斷壯大,產(chǎn)品的種類和數(shù)量都不斷增加,產(chǎn)品的流通越來(lái)越多,這就使產(chǎn)品的存儲(chǔ)需求不斷增加,需要工作人員花費(fèi)很大力氣來(lái)統(tǒng)籌管理這項(xiàng)工作,為了保證工作的正確性和可靠性同時(shí)提高管理的效率,很有必要建立一個(gè)庫(kù)存管理系統(tǒng),使貨品管理工作
3、規(guī)范化,系統(tǒng)化,程序化。1.2.2 技術(shù)可行性在技術(shù)上,如今成熟的語(yǔ)言有很多,像是PowerBuilder 、VB 、Delphi等都能開發(fā)出很好用的系統(tǒng)。而本次設(shè)計(jì)我采用的是VC,也是很成熟的語(yǔ)言,再加上數(shù)據(jù)庫(kù)如今的發(fā)展?fàn)顩r,開發(fā)出一個(gè)庫(kù)存管理的應(yīng)用程序是沒(méi)有問(wèn)題的。鑒于軟硬件方面對(duì)系統(tǒng)的需求,軟件要求易學(xué),界面友好,容易掌握,可以很簡(jiǎn)單方便的進(jìn)行圖書信息管理。硬件的配置要求不能太高,這樣可以很好的適應(yīng)當(dāng)前的企業(yè)辦公管理工作,如今電腦軟硬件技術(shù)飛速發(fā)展,計(jì)算機(jī)系統(tǒng)開發(fā)人員也比比皆是,開發(fā)知識(shí)密集型的信息系統(tǒng)的技術(shù)條件也已經(jīng)很成熟了。 1.2.3 經(jīng)濟(jì)可行性在經(jīng)濟(jì)上,費(fèi)用的支出和帶來(lái)的巨大收益
4、相比自是不能相提并論了,至于管理上,工作人員對(duì)于這項(xiàng)工程的實(shí)施必然是持贊成的態(tài)度,因?yàn)檫@樣會(huì)大大減輕他們的工作量提高工作效率。且成本低,建成后的維護(hù)費(fèi)用也與線性系統(tǒng)運(yùn)行費(fèi)用相同,而每年可以促進(jìn)企業(yè)倉(cāng)庫(kù)存儲(chǔ)的工作優(yōu)化、庫(kù)存產(chǎn)品的有效利用率,并可有效降低企業(yè)庫(kù)存的不必要支出,提高企業(yè)產(chǎn)品存儲(chǔ)資金的有效利用。第二章 系統(tǒng)分析2.1 業(yè)務(wù)范圍分析1.企業(yè)庫(kù)存基礎(chǔ)信息設(shè)置:這是企業(yè)庫(kù)存最重要的模塊之一,它將對(duì)倉(cāng)庫(kù)存儲(chǔ)中的產(chǎn)品、雇員、客戶和倉(cāng)庫(kù)的基本信息進(jìn)行管理操作,所有的產(chǎn)品、倉(cāng)庫(kù)等原始數(shù)據(jù)輸入都是在這里實(shí)現(xiàn)的,有了這里的數(shù)據(jù)輸入,才能開始以后的諸如產(chǎn)品入庫(kù)、產(chǎn)品出庫(kù)等操作。(1)產(chǎn)品信息設(shè)置:該功能允
5、許用戶添加、修改和刪除產(chǎn)品信息,在輸入過(guò)程中,程序自動(dòng)生成產(chǎn)品編號(hào)以方便產(chǎn)品的管理和入庫(kù)時(shí)選擇產(chǎn)品,同時(shí)程序也檢查輸入的合法性。(2)雇員信息設(shè)置:該功能允許用戶添加、修改和刪除雇員信息,在信息錄入過(guò)程中,程序自動(dòng)生成雇員編號(hào)以方便對(duì)員工信息的管理,同時(shí)程序也檢查輸入的合法性。(3)客戶信息設(shè)置:企業(yè)庫(kù)存產(chǎn)品出庫(kù),必然要登記貨物發(fā)給的客戶,該功能允許用戶對(duì)客戶的名稱、聯(lián)系方式、地址等基本信息進(jìn)行添加、修改和刪除,在信息錄入過(guò)程中,程序自動(dòng)生成客戶編號(hào)以方便對(duì)客戶信息的管理,同時(shí)程序也檢查輸入的合法性。(4)倉(cāng)庫(kù)信息設(shè)置:產(chǎn)品的入庫(kù),出庫(kù),調(diào)撥和報(bào)損都需要倉(cāng)庫(kù)的基本信息。該功能允許用戶添加、修改
6、和刪除倉(cāng)庫(kù)信息,在信息錄入過(guò)程中,程序自動(dòng)生成倉(cāng)庫(kù)編號(hào)以方便對(duì)倉(cāng)庫(kù)信息的管理,同時(shí)程序也檢查輸入的合法性。2.庫(kù)存信息的錄入與修改(1)產(chǎn)品入庫(kù)單信息錄入與修改:該功能允許用戶輸入入庫(kù)單信息,在輸入過(guò)程中,程序自動(dòng)生成產(chǎn)品入庫(kù)單編號(hào)以方便對(duì)入庫(kù)產(chǎn)品的信息管理和單據(jù)的查詢,同時(shí)程序也檢查輸入的合法性。(2)產(chǎn)品出庫(kù)單信息錄入與修改:該功能允許用戶輸入出庫(kù)單信息,在輸入過(guò)程中,程序自動(dòng)生成產(chǎn)品出庫(kù)單編號(hào)以方便對(duì)出庫(kù)產(chǎn)品的信息管理和單據(jù)的查詢,同時(shí)程序也檢查輸入的合法性。(3)產(chǎn)品調(diào)撥單信息錄入與修改:因?yàn)閭}(cāng)庫(kù)所處地區(qū)的不同,以及庫(kù)存量的差異,所以企業(yè)內(nèi)部倉(cāng)庫(kù)之間貨品的調(diào)撥時(shí)必然的。該功能允許用戶輸
7、入調(diào)撥單信息,在輸入過(guò)程中,程序自動(dòng)生成產(chǎn)品調(diào)撥單編號(hào)以方便對(duì)調(diào)撥產(chǎn)品的信息管理和單據(jù)的查詢,同時(shí)程序也檢查輸入的合法性。(4)產(chǎn)品報(bào)損單信息錄入與修改:因?yàn)樵诋a(chǎn)品的運(yùn)輸過(guò)程或是存儲(chǔ)過(guò)程中,會(huì)有產(chǎn)品的損壞,所以系統(tǒng)也應(yīng)該具備產(chǎn)品報(bào)損信息的管理功能。該功能允許用戶輸入產(chǎn)品報(bào)損單信息,在輸入過(guò)程中,程序自動(dòng)生成產(chǎn)品報(bào)損單編號(hào)以方便對(duì)報(bào)損產(chǎn)品的信息管理和單據(jù)的查詢,同時(shí)程序也檢查輸入的合法性。3.庫(kù)存信息的查詢(1)產(chǎn)品入庫(kù)單信息的查詢:該功能不僅要對(duì)產(chǎn)品入庫(kù)單據(jù)的信息(如:入庫(kù)倉(cāng)庫(kù)、生產(chǎn)部門、產(chǎn)品名稱、經(jīng)辦人等)進(jìn)行查詢,而且要對(duì)該單據(jù)所包括的產(chǎn)品的信息(產(chǎn)品名稱、型號(hào)、單價(jià)等)進(jìn)行查詢。(2)產(chǎn)
8、品出庫(kù)單信息的查詢:該功能不僅要對(duì)產(chǎn)品出庫(kù)單據(jù)的信息(倉(cāng)庫(kù)名稱、經(jīng)辦人、客戶等)進(jìn)行查詢,而且要對(duì)該單據(jù)所包括的產(chǎn)品的信息(產(chǎn)品名稱、型號(hào)、單價(jià)等)進(jìn)行查詢。(3)產(chǎn)品調(diào)撥單信息的查詢:該功能不僅要對(duì)產(chǎn)品調(diào)撥單據(jù)的信息(入庫(kù)倉(cāng)庫(kù)、出庫(kù)倉(cāng)庫(kù)、經(jīng)辦人等)進(jìn)行查詢,而且要對(duì)該單據(jù)所包括的產(chǎn)品的信息(產(chǎn)品名稱、型號(hào)、單價(jià)等)進(jìn)行查詢。(4)產(chǎn)品報(bào)損單信息的查詢:該功能不僅要對(duì)產(chǎn)品報(bào)損單據(jù)的信息(報(bào)損倉(cāng)庫(kù)、經(jīng)辦人等)進(jìn)行查詢,而且要對(duì)該單據(jù)所包括的產(chǎn)品的信息(產(chǎn)品名稱、型號(hào)、單價(jià)等)進(jìn)行查詢。4.庫(kù)存信息的統(tǒng)計(jì)分析(1)入庫(kù)產(chǎn)品信息匯總統(tǒng)計(jì):該功能對(duì)各種入庫(kù)產(chǎn)品的存儲(chǔ)倉(cāng)庫(kù)、存儲(chǔ)數(shù)量、存儲(chǔ)金額進(jìn)行了匯總統(tǒng)
9、計(jì)。(2)出庫(kù)產(chǎn)品信息匯總統(tǒng)計(jì):該功能對(duì)各種出庫(kù)產(chǎn)品的出庫(kù)倉(cāng)庫(kù)、出庫(kù)數(shù)量、出庫(kù)金額進(jìn)行了匯總統(tǒng)計(jì)。該庫(kù)存管理系統(tǒng)的功能圖如下:庫(kù)存管理基本設(shè)置產(chǎn)品基本信息設(shè)置雇員基本信息設(shè)置客戶基本信息設(shè)置倉(cāng)庫(kù)基本信息設(shè)置信息錄入產(chǎn)品入庫(kù)單產(chǎn)品出庫(kù)單產(chǎn)品調(diào)撥單產(chǎn)品報(bào)損單統(tǒng)計(jì)匯總信息查詢產(chǎn)品入庫(kù)單查詢產(chǎn)品出庫(kù)單查詢產(chǎn)品調(diào)撥單查詢產(chǎn)品報(bào)損單查詢?nèi)霂?kù)產(chǎn)品統(tǒng)計(jì)匯總出庫(kù)產(chǎn)品統(tǒng)計(jì)匯總圖2.1庫(kù)存信息管理系統(tǒng)功能圖2.2 業(yè)務(wù)流程分析庫(kù)存管理數(shù)據(jù)流圖生產(chǎn)部門產(chǎn)品入庫(kù)產(chǎn)品倉(cāng)庫(kù)部門客戶產(chǎn)品出庫(kù)產(chǎn)品企業(yè)主管產(chǎn)品入庫(kù)單產(chǎn)品出庫(kù)單產(chǎn) 品報(bào) 損報(bào)損信息訂購(gòu)訂單信息產(chǎn)品信息產(chǎn)品調(diào)撥產(chǎn)品產(chǎn)品產(chǎn)品報(bào)損單圖2.2 系統(tǒng)數(shù)據(jù)流圖2.3 數(shù)據(jù)字典
10、名字:產(chǎn)品編號(hào)別名:描述: 此產(chǎn)品在產(chǎn)品中的惟一的標(biāo)識(shí).定義:1數(shù)字10位置: 產(chǎn)品信息 產(chǎn)品入庫(kù)單 產(chǎn)品出庫(kù)單產(chǎn)品調(diào)撥單產(chǎn)品報(bào)損單名字:產(chǎn)品入庫(kù)單號(hào)別名:描述: 此入庫(kù)單在單據(jù)中的惟一的標(biāo)識(shí).定義:1數(shù)字10位置: 產(chǎn)品入庫(kù)單 產(chǎn)品入庫(kù)單產(chǎn)品信息 入庫(kù)產(chǎn)品匯總統(tǒng)計(jì)名字:產(chǎn)品出庫(kù)單號(hào)別名:描述: 此出庫(kù)單在單據(jù)中的惟一的標(biāo)識(shí).定義:1數(shù)字10位置: 產(chǎn)品處庫(kù)單 產(chǎn)品出庫(kù)單產(chǎn)品信息 出庫(kù)產(chǎn)品匯總統(tǒng)計(jì)名字:產(chǎn)品報(bào)損單號(hào)別名:描述: 此報(bào)損單在單據(jù)中的惟一的標(biāo)識(shí).定義:1數(shù)字10位置: 產(chǎn)品報(bào)損單 產(chǎn)品報(bào)損單產(chǎn)品信息名字:產(chǎn)品調(diào)撥單號(hào)別名:描述: 此調(diào)撥單在單據(jù)中的惟一的標(biāo)識(shí).定義:1數(shù)字10位置:
11、 產(chǎn)品調(diào)撥單 產(chǎn)品調(diào)撥單產(chǎn)品信息圖2.3 數(shù)據(jù)字典2.4 數(shù)據(jù)與數(shù)據(jù)流程分析第三章 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)登陸庫(kù)存管理系統(tǒng)驗(yàn)證用戶信息系統(tǒng)主窗體倉(cāng)庫(kù)管理入庫(kù)管理出庫(kù)管理盤存管理綜合管理附項(xiàng)分類歷史數(shù)據(jù)管理打印、查詢系統(tǒng)貨品入庫(kù)單經(jīng)辦人員報(bào)表貨品出庫(kù)單數(shù)據(jù)備份備份輸出庫(kù)存匯總庫(kù)存管理系統(tǒng)結(jié)構(gòu)圖錯(cuò)誤3.2 E-R圖產(chǎn)品信息產(chǎn)品編號(hào)產(chǎn)品名稱規(guī)格型號(hào)庫(kù)存上限單價(jià)顏色類別庫(kù)存下限計(jì)量單位上限圖3.1 產(chǎn)品信息實(shí)體E-R圖員工編號(hào)雇員信息姓名名稱職務(wù)工作部門家庭住址性別電話號(hào)碼婚姻狀況出生年月圖3.2 雇員信息實(shí)體E-R圖客戶信息客戶編號(hào)單位名稱名稱聯(lián)系人客戶級(jí)別電話號(hào)碼地址郵箱傳真郵編圖3.3
12、 客戶信息實(shí)體E-R圖倉(cāng)庫(kù)名稱名稱倉(cāng)庫(kù)地址倉(cāng)庫(kù)信息倉(cāng)庫(kù)編號(hào)計(jì)價(jià)法圖3.4 倉(cāng)庫(kù)信息實(shí)體E-R圖入庫(kù)單號(hào)產(chǎn)品入庫(kù)單信息制單日期產(chǎn)品生產(chǎn)日期生產(chǎn)部門入庫(kù)類別入庫(kù)倉(cāng)庫(kù)備注經(jīng)辦人圖3.5 入庫(kù)單信息實(shí)體E-R圖產(chǎn)品單價(jià)產(chǎn)品入庫(kù)單產(chǎn)品信息入庫(kù)單號(hào)產(chǎn)品編號(hào)入庫(kù)數(shù)量圖3.6 入庫(kù)單產(chǎn)品信息實(shí)體E-R圖出庫(kù)單號(hào)產(chǎn)品出庫(kù)單信息制單日期出庫(kù)倉(cāng)庫(kù)銷售部門出庫(kù)類別銷售人員發(fā)貨單號(hào)客戶名稱備注圖3.7 出庫(kù)單信息實(shí)體E-R圖產(chǎn)品出庫(kù)單產(chǎn)品信息出庫(kù)單號(hào)產(chǎn)品編號(hào)出庫(kù)數(shù)量產(chǎn)品單價(jià)圖3.8 出庫(kù)單產(chǎn)品信息實(shí)體E-R圖 產(chǎn)品調(diào)撥單信息調(diào)撥單號(hào)制單日期入庫(kù)倉(cāng)庫(kù)出庫(kù)倉(cāng)庫(kù)出庫(kù)類別經(jīng)辦人備注圖3.9 調(diào)撥單信息實(shí)體E-R圖產(chǎn)品調(diào)撥單產(chǎn)品
13、信息調(diào)撥單號(hào)產(chǎn)品編號(hào)調(diào)撥數(shù)量產(chǎn)品單價(jià)圖3.10 調(diào)撥單產(chǎn)品信息實(shí)體E-R圖產(chǎn)品報(bào)損單信息報(bào)損單號(hào)制單日期報(bào)損倉(cāng)庫(kù)出庫(kù)類別經(jīng)辦人備注圖3.11 報(bào)損單信息實(shí)體E-R圖產(chǎn)品編號(hào)產(chǎn)品報(bào)損單產(chǎn)品信息報(bào)損單號(hào)報(bào)損數(shù)量產(chǎn)品單價(jià)圖3.12 報(bào)損單產(chǎn)品信息實(shí)體E-R圖產(chǎn)品報(bào)損單產(chǎn)品出庫(kù)單入庫(kù)單出庫(kù)單產(chǎn)品入庫(kù)單產(chǎn)品調(diào)撥單報(bào)損單選擇報(bào)損出庫(kù)工作人員辦理調(diào)撥單產(chǎn)品選擇調(diào)撥出庫(kù)辦理選擇生產(chǎn)入庫(kù)辦理銷售出庫(kù)辦理NMNNM1NNN選擇NNMMNM1MMM1NNM1M圖3.13整個(gè)系統(tǒng)的ER圖3.3數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)有以下十三個(gè)表組成:表3.1 產(chǎn)品基本信息表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵ProductIDCha
14、r10產(chǎn)品編號(hào)是ProductNameChar20產(chǎn)品名稱否StandardChar10規(guī)格否modelChar10型號(hào)否PriceFloat8單價(jià)否qualityGuaranteeInt4保存期限否maintanceInt4維護(hù)期否UnitChar10計(jì)量單位否colorTypeChar10顏色類別否qualityLevelChar10質(zhì)量等級(jí)否finishRateFloat4成品率否storeHouseChar20存放倉(cāng)庫(kù)否taxRateFloat8稅率否RemarkChar100備注否numMinInt4存儲(chǔ)下限否NumMaxInt4存儲(chǔ)上限否表3.2 雇員基本信息表字段說(shuō)明字段名稱數(shù)據(jù)
15、類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵staffIDChar20員工編號(hào)是staffNameChar30員工姓名否DutyChar20員工職務(wù)否DepartmentChar20所在部門否SexChar2性別否AddressChar30員工住址否BirthdayDatetime8出生日期否PostcodeChar10郵政編碼否marriageConditionChar10婚姻狀況否TelephoneChar20員工電話否NationalityChar20國(guó)籍否eMailChar20電子郵件否educationLevelChar20學(xué)歷否QQChar10QQ號(hào)碼否guaduateSchoolChar20畢業(yè)院校否M
16、ajorChar20專業(yè)否IdentityNOChar20身份證號(hào)碼否MobileChar20手機(jī)號(hào)碼否workTypeChar20員工工種否RemarkChar100備注否表3.3客戶基本信息表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵CilentIDChar20客戶編號(hào)是bookinDateDatetime8登記日期否clientLevelChar20客戶級(jí)別否clientTypeChar20客戶類型否CompanyChar20客戶公司否contactPersonChar20聯(lián)系人否AreaIDChar20地區(qū)否AddressChar20地址否PostcodeChar20郵政編碼否Telep
17、honeChar20聯(lián)系電話否FaxChar20傳真否eMailChar20電子郵件否RemarkChar100備注否manageRangeChar20經(jīng)營(yíng)范圍否manageProductChar20經(jīng)營(yíng)產(chǎn)品否AccountbankChar20開戶銀行否AccountChar20銀行賬號(hào)否TaxNOChar20稅號(hào)否RegisterDateDatetime8注冊(cè)日期否registerFundFloat8注冊(cè)資金否ScaleChar20規(guī)模否IndustrycharacterChar20行業(yè)性質(zhì)否AllfundsFloat8總資產(chǎn)否ClientcharacterChar20客戶性質(zhì)否表3.4倉(cāng)庫(kù)
18、表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵StorehouseIDChar20倉(cāng)庫(kù)編號(hào)是storehouseNameChar30倉(cāng)庫(kù)名稱否storehousePostionChar30倉(cāng)庫(kù)地址否priceMethodChar20倉(cāng)庫(kù)計(jì)價(jià)法否表3.5產(chǎn)品入庫(kù)單基本信息表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵ProductInputFormIDChar10產(chǎn)品入庫(kù)單號(hào)是ProduceDateDatetime8生產(chǎn)日期否storeHouseChar20倉(cāng)庫(kù)名稱否produceDepartmentChar20生產(chǎn)部門否DealerChar20經(jīng)辦人否houseInTypeChar20入庫(kù)類別否Rem
19、arkChar100備注否FormdateDatetime8制單日期否表3.6入庫(kù)產(chǎn)品信息表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵productInputFormIDChar10入庫(kù)單號(hào)是productIDChar10產(chǎn)品編號(hào)是NumInt4數(shù)量否PriceFloat8單價(jià)否表3.7產(chǎn)品出庫(kù)單基本信息表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵ProductOutputFormIDChar10產(chǎn)品出庫(kù)單號(hào)是ConsignmentFormIDChar10發(fā)貨單號(hào)否storeHouseChar20倉(cāng)庫(kù)名稱否sellDepartmentChar20銷售部門否SellerChar20銷售人員否clie
20、ntNameChar20客戶名稱否HouseOutTypeChar20出庫(kù)類別否RemarkChar20備注否FormdateDatetime8制單日期否DealerChar20經(jīng)辦人否表3.8出庫(kù)產(chǎn)品信息表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵ProductOutputFormIDChar10出庫(kù)單號(hào)是ProductIDChar10產(chǎn)品編號(hào)是NumInt4數(shù)量否PriceFloat8單價(jià)否表3.9產(chǎn)品調(diào)撥單基本信息表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵productMoveFormIDChar10產(chǎn)品調(diào)撥單號(hào)是storeHouseInChar20入庫(kù)倉(cāng)庫(kù)否storeHouseOutCh
21、ar20出庫(kù)倉(cāng)庫(kù)否DealerChar20經(jīng)辦人否houseOutTypeChar20出庫(kù)類別否RemarkChar100備注否FormdateDatetime8制單日期否表3.10調(diào)撥產(chǎn)品信息表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵ProductMoveFormIDChar10產(chǎn)品調(diào)撥單號(hào)是ProductIDChar10產(chǎn)品編號(hào)是NumInt4數(shù)量否PriceFloat8單價(jià)否表3.11產(chǎn)品報(bào)損單基本信息表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵ProductLoseFormIDChar10產(chǎn)品報(bào)損單號(hào)是storeHousechar20報(bào)損倉(cāng)庫(kù)否DealerChar20經(jīng)辦人否houseO
22、utTypeChar20出庫(kù)類別否RemarkChar100備注否FormdateDatetime8制單日期否表3.12報(bào)損產(chǎn)品信息表字段說(shuō)明字段名稱數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度說(shuō)明主鍵ProductLoseFormIDChar10報(bào)損單號(hào)是ProductIDChar10產(chǎn)品編號(hào)是NumInt4數(shù)量否PriceFloat8單價(jià)否3.2代碼設(shè)計(jì)我在應(yīng)用程序類StoreApp的InitInstance方法中進(jìn)行初始化。各模塊在連接數(shù)據(jù)庫(kù)的時(shí)候都需要聲明所需的指針,聲明如下:_RecordsetPtr m_pIDRecordset; / 記錄集指針的個(gè)數(shù)可根據(jù)實(shí)際的需要來(lái)確定聲明幾個(gè)_ConnectionPtr
23、 m_pConn;在StoreApp的構(gòu)造函數(shù)中定義數(shù)據(jù)庫(kù)的連接字符串:TreeConnString=_T("Data Source=SaleData;UID=Sa;PWD=;")數(shù)據(jù)庫(kù)的初始化,連接代碼如下:HRESULT hRes;tryhRes=m_pConn.CreateInstance(_T("ADODB.Connection");/創(chuàng)建connection對(duì)象m_pConn->ConnectionTimeout = 8; /超時(shí)八秒hRes=m_pConn->Open(_bstr_t(LPCTSTR) TreeConnString
24、),_T(""),_T(""),adModeUnknown); /TreeConnString為連接字符串catch(_com_error e) /捕捉異常 CString errormessage; errormessage.Format(_T("連接SaleData數(shù)據(jù)庫(kù)失敗!rn錯(cuò)誤信息:%s"),e.ErrorMessage(); AfxMessageBox(errormessage); /顯示錯(cuò)誤信息 return FALSE;hRes = m_pIDRecordset.CreateInstance(_T("ADO
25、DB.Recordset");/創(chuàng)建Recordset對(duì)象if (SUCCEEDED(hRes)hRes = m_pIDRecordset->Open(LPTSTR)strSQL.GetBuffer(130),m_pConn.GetInterfacePtr(),adOpenDynamic,adLockPessimistic,adCmdText);if(SUCCEEDED(hRes)TRACE(_T("連接成功!n");在要用記錄集指針的時(shí)候可以用CreateInstance方法創(chuàng)建ADO連接對(duì)象。在程序中使用完數(shù)據(jù)庫(kù)時(shí),還需關(guān)閉連接,代碼如下:m_pIDRe
26、cordset->Close();3.2.1 基本信息模塊的實(shí)現(xiàn)圖3.2.1單擊條目后產(chǎn)品信息對(duì)話框1. 建立產(chǎn)品基本信息的CProductInfo對(duì)話框類使用Visual C+6.0的“InsertType”為“MFC Class”,“Name”為“CProductInfo”,“Base class”為“CDialog”,“Dialog ID”為“IDD_PRODUCTINFO_FORM”。然后單擊“OK”按鈕即可完成CProductInfo類的創(chuàng)建。2.為模塊“基本信息設(shè)置”創(chuàng)建菜單項(xiàng),如表3.2.1所示表3.2.1基本信息設(shè)置菜單說(shuō)明資源ID標(biāo)題ID_set_productInfo
27、產(chǎn)品信息設(shè)置ID_input_staffInfor雇員信息設(shè)置ID_input_clientInfor客戶信息設(shè)置ID_set_storehouse倉(cāng)庫(kù)信息設(shè)置3.主要代碼(1)重載對(duì)話框的OnInitDialog函數(shù)在OnInitDialog函數(shù)中主要完成列表框控件的樣式設(shè)定、列標(biāo)題添加、數(shù)據(jù)庫(kù)中已經(jīng)存在的數(shù)據(jù)顯示和編輯框及按鈕控件可用性設(shè)置、為存放倉(cāng)庫(kù)組合框控件添加可選項(xiàng)。步驟如下:調(diào)用列表框控件的InsertColumm()方法插入列,并設(shè)定列標(biāo)題;分別查詢storeHouse、product表,并構(gòu)造相應(yīng)的查詢結(jié)果記錄集;打開storeHouse的查詢結(jié)果記錄集,將記錄集中的數(shù)據(jù)插入到
28、相應(yīng)的組合框中;打開product的查詢結(jié)果記錄集,調(diào)用列表框控件的InsertItem()和SetItemText()方法將記錄集中的數(shù)據(jù)插入到列表框控件中;調(diào)用控件的GetDlgItem()方法,為控件可用性控制變量賦值;調(diào)用控件的EnableWindow()方法,設(shè)定控件的可用性。部分代碼如下:style=m_list.GetExStyle();style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(LVS_EX_CHECKBOXES) ;/設(shè)定列表框風(fēng)格 網(wǎng)格行選擇 取消復(fù)選框m_list.SetExtendedStyle(st
29、yle);/為列表框控件添加列,并設(shè)定列標(biāo)題m_list.InsertColumn(0,"商品編號(hào)",LVCFMT_LEFT,100);/左對(duì)齊 寬度100m_list.InsertColumn(1,"商品名稱",LVCFMT_LEFT,100); /左對(duì)齊 寬度100/此處省略部分代碼_RecordsetPtr m_pListRecordset; /用于創(chuàng)建一個(gè)查詢記錄集CString strSQL;HRESULT hTRes;strSQL="select * from storeHouse" /構(gòu)造查詢語(yǔ)句為存放倉(cāng)庫(kù)組合框添加可選
30、項(xiàng)_RecordsetPtr m_pStoreHouseRecordset;hTRes = m_pStoreHouseRecordset.CreateInstance(_T("ADODB.Recordset");if (SUCCEEDED(hTRes) hTRes = m_pStoreHouseRecordset->Open(LPTSTR)strSQL.GetBuffer(130),(CStoreApp*)AfxGetApp()->m_pConn.GetInterfacePtr(),adOpenDynamic,adLockPessimistic,adCmdTex
31、t);/打開查詢結(jié)果記錄集if(SUCCEEDED(hTRes)TRACE(_T("連接成功!n");while(!(m_pStoreHouseRecordset->adoEOF)m_storeHouseCombo.AddString(CStoreApp*)AfxGetApp()->GetStringFromVariant(m_pStoreHouseRecordset->GetCollect("storeHouseName");/插入組合框m_pStoreHouseRecordset->MoveNext();/記錄集指針向后移動(dòng)m
32、_pStoreHouseRecordset->Close(); /關(guān)閉記錄集/將目前數(shù)據(jù)庫(kù)中已經(jīng)存在的產(chǎn)品信息添加到產(chǎn)品列表框中strSQL="SELECT * FROM product"/構(gòu)造查詢語(yǔ)句try HRESULT hTRes;hTRes = m_pListRecordset.CreateInstance(_T("ADODB.Recordset");if (SUCCEEDED(hTRes)hTRes = m_pListRecordset->Open(LPTSTR)strSQL.GetBuffer(130),(CStoreApp*)A
33、fxGetApp()->m_pConn.GetInterfacePtr(),adOpenDynamic,adLockPessimistic,adCmdText);/打開查詢結(jié)果記錄集if(SUCCEEDED(hTRes)TRACE(_T("連接成功!n");if (!(m_pListRecordset->adoEOF)int i=0;while(!(m_pListRecordset->adoEOF)m_list.InsertItem(i,(CStoreApp*)AfxGetApp()->GetStringFromVariant(m_pListReco
34、rdset->GetCollect("productID");/產(chǎn)品編號(hào)m_list.SetItemText(i,1,(CStoreApp*)AfxGetApp()->GetStringFromVariant(m_pListRecordset->GetCollect("productName");/產(chǎn)品名稱 /此處省略部分代碼if (!(m_pListRecordset->adoEOF) m_pListRecordset->MoveNext(); /記錄集指針向后移動(dòng)i+;catch(_com_error e)/捕捉異常CS
35、tring errormessage;MessageBox("創(chuàng)建記錄集失敗!","錯(cuò)誤");flag=0;/為對(duì)話框控件可用性控制變量賦值tx_productID=GetDlgItem(IDC_productID);tx_productName=GetDlgItem(IDC_productName);/此處省略部分代碼bt_modify=GetDlgItem(IDC_modify);/設(shè)定按鈕的可用性bt_save->EnableWindow(false);/保存按鈕可用bt_modify->EnableWindow(false);/修改按
36、鈕可用bt_delete->EnableWindow(false);/刪除按鈕可用/初始情況下,所有的編輯框不可用tx_productID->EnableWindow(false);/此處省略部分代碼UpdateData(false); /更新對(duì)話框數(shù)據(jù)return TRUE; (2)實(shí)現(xiàn)列表框控件的NM_CLICK消息函數(shù)當(dāng)列表框中的條目被單擊(如列表框的條目被選中)時(shí)該函數(shù)自動(dòng)被調(diào)用。作用是當(dāng)列表框中的一個(gè)條目被選中時(shí),將該條目對(duì)應(yīng)的信息顯示到相應(yīng)的編輯框控件中,使按鈕“增加”、“修改”、“刪除”變?yōu)榭捎?,“存盤”按鈕不可用;當(dāng)沒(méi)有條目被選中時(shí),“修改”、“刪除”、“保存”按鈕
37、不可用,只有“增加”按鈕可用,同時(shí)將編輯框控件內(nèi)容清空并使其不可用。步驟如下:調(diào)用m_list的GetFirstSelectedItemPosition()方法,獲得單擊的位置。調(diào)用m_list的GetNextSelectedItem()方法,獲得單擊的條目。調(diào)用m_list的GetItemText()方法,獲得條目中對(duì)應(yīng)列的字符串,并將其轉(zhuǎn)換成預(yù)定的類型。具體代碼如下:void CProductInfo:OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) UpdateData(true);/將對(duì)話框中數(shù)據(jù)更新到變量POSITION pos = m_li
38、st.GetFirstSelectedItemPosition();/獲取單擊的位置if(pos)int nFirstSelItem = m_list.GetNextSelectedItem(pos);/獲取單擊的條目m_productID=m_list.GetItemText(nFirstSelItem,0);/產(chǎn)品編號(hào)/省略部分代碼bt_modify->EnableWindow(true); /修改按鈕可用bt_delete->EnableWindow(true); /刪除按鈕可用UpdateData(false); /將數(shù)據(jù)更新到對(duì)話框*pResult = 0;(3)為“增加
39、”按鈕提供實(shí)現(xiàn)函數(shù)“增加”按鈕只是完成添加的準(zhǔn)備工作,使得除了“產(chǎn)品編號(hào)”以外的所有編輯控件可用,并且為他們?cè)O(shè)定默認(rèn)值。通過(guò)查詢數(shù)據(jù)庫(kù),查詢可用的產(chǎn)品入庫(kù)單號(hào),并更新下一個(gè)可用的產(chǎn)品入庫(kù)單號(hào)。當(dāng)所有內(nèi)容添加完畢后,單擊“存盤”按鈕才能實(shí)現(xiàn)實(shí)際的保存工作。代碼如下:void CProductInfo:OnAdd() UpdateData(true);/對(duì)話框數(shù)據(jù)更新到變量/獲取新增加的產(chǎn)品的編號(hào)int productID=(CStoreApp*)AfxGetApp()->m_pIDRecordset->GetCollect("productID").intVal;
40、if(productID<10) /為產(chǎn)品編號(hào)設(shè)定格式m_productID.Format("product0000%d",productID);else if(productID<100&&productID>9)m_productID.Format("product000%d",productID);else if(productID<1000&&productID>99)m_productID.Format("product00%d",productID);CStri
41、ng str;str.Format("%d",productID+1); /更新下一個(gè)可用的產(chǎn)品編號(hào)(CStoreApp*)AfxGetApp()->m_pIDRecordset->PutCollect("productID",_variant_t(str);(CStoreApp*)AfxGetApp()->m_pIDRecordset->Update();/更新數(shù)據(jù)庫(kù)/為對(duì)話框控件的變量設(shè)定默認(rèn)值m_productName = _T("");m_standard = _T("");/此處省
42、略部分代碼flag=1; /添加 /設(shè)定除產(chǎn)品編號(hào)以外的其他編輯控件均可用tx_productID->EnableWindow(false);/此處省略部分代碼tx_numMin->EnableWindow(true); /設(shè)定按鈕的可用性bt_save->EnableWindow(true); /保存按鈕可用bt_add->EnableWindow(false); /添加按鈕不可用bt_modify->EnableWindow(false); /修改按鈕不可用bt_delete->EnableWindow(false); /刪除按鈕不可用UpdateDat
43、a(false);/將數(shù)據(jù)更新到對(duì)話框(4)為修改按鈕提供實(shí)現(xiàn)函數(shù)“修改”按鈕只是完成修改的準(zhǔn)備工作,除了“產(chǎn)品入庫(kù)單號(hào)”外的其他編輯控件均可用。當(dāng)所有的內(nèi)容修改完畢后,單擊“存盤”按鈕才能實(shí)現(xiàn)實(shí)際的保存工作。代碼如下:void CProductInfo:OnModify() /設(shè)定除產(chǎn)品編號(hào)以外的其他編輯控件均可用tx_productID->EnableWindow(false);tx_productName->EnableWindow(true);/此處省略部分代碼tx_numMin->EnableWindow(true);flag=2;/修改bt_save->En
44、ableWindow(true);/保存按鈕可用(5)為存盤按鈕提供實(shí)現(xiàn)函數(shù)“存盤”按鈕用于將新添加的條目或修改后的條目存儲(chǔ)到數(shù)據(jù)庫(kù)中,并將列表框控件中的內(nèi)容刷新,同時(shí)使新增加的條目或修改的條目在列表框控件中可見并處于選中狀態(tài)。實(shí)現(xiàn)時(shí)如果是新增,查詢所有的記錄,在該記錄集中增加記錄并更新數(shù)據(jù)庫(kù);如果是修改記錄,則查詢產(chǎn)品編號(hào)等于目前編輯的產(chǎn)品編號(hào)的記錄,修改該記錄,最后將記錄更新到數(shù)據(jù)庫(kù)。代碼如下:void CProductInfo:OnSave() UpdateData(true);/將控件中的值更新到變量_RecordsetPtr m_pRecordset; CString strSQL;
45、if(flag=1) /添加strSQL="SELECT * FROM product" ;/構(gòu)造sql語(yǔ)句try HRESULT hTRes;hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset");if (SUCCEEDED(hTRes) hTRes = m_pRecordset->Open(LPTSTR)strSQL.GetBuffer(130),(CStoreApp*)AfxGetApp()->m_pConn.GetInterfacePtr(),adOpenDynamic,ad
46、LockPessimistic,adCmdText);/打開查詢結(jié)果記錄集if(SUCCEEDED(hTRes) TRACE(_T("連接成功!n");CString str;m_pRecordset->AddNew();/添加新的記錄m_pRecordset->PutCollect("productID",_variant_t(m_productID);/產(chǎn)品編號(hào)/此處省略部分代碼m_pRecordset->Update(); /更新數(shù)據(jù)庫(kù)int j;j=m_list.GetItemCount(); /獲取要插入的條目的位置m_lis
47、t.InsertItem(j,m_productID); /產(chǎn)品編號(hào)m_list.SetItemText(j,1,m_productName); /產(chǎn)品名稱 /此處省略部分代碼 AfxMessageBox("插入成功!"); /提示信息catch(_com_error e)/捕捉異常CString errormessage;MessageBox("創(chuàng)建記錄集失敗!","錯(cuò)誤");else if(flag=2) /修改strSQL="SELECT * FROM product where productID='&quo
48、t; ;strSQL=strSQL+m_productID+"'"/構(gòu)造查詢指定產(chǎn)品編號(hào)的產(chǎn)品的信息的sql語(yǔ)句tryHRESULT hTRes;hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset");if (SUCCEEDED(hTRes)hTRes = m_pRecordset->Open(LPTSTR)strSQL.GetBuffer(130),(CStoreApp*)AfxGetApp()->m_pConn.GetInterfacePtr(),adOpenDynami
49、c,adLockPessimistic,adCmdText);/打開查詢結(jié)果記錄集if(SUCCEEDED(hTRes)TRACE(_T("連接成功!n");CString str;m_pRecordset->PutCollect("productName",_variant_t(m_productName);/產(chǎn)品名稱/此處省略部分代碼AfxMessageBox("修改成功!");/提示信息catch(_com_error e)/捕捉異常CString errormessage;MessageBox("創(chuàng)建記錄集失敗
50、!","錯(cuò)誤");Refresh();/設(shè)定按鈕的可用性bt_add->EnableWindow(true);/添加按鈕可用bt_delete->EnableWindow(true);/刪除按鈕可用bt_modify->EnableWindow(true);/修改按鈕可用bt_save->EnableWindow(false);/保存按鈕不可用/所有的編輯控件均不可用tx_productID->EnableWindow(false);/此處省略部分代碼UpdateData(false);/將數(shù)據(jù)更新到對(duì)話框(6)為“刪除”按鈕提供實(shí)現(xiàn)函數(shù)刪除選定的記錄或者是當(dāng)前記錄,先生成刪除指定產(chǎn)品編號(hào)的產(chǎn)品信息的SQL語(yǔ)句,調(diào)用數(shù)據(jù)庫(kù)連接對(duì)象Execute方法執(zhí)行該SQL語(yǔ)句將滿足條件的記錄從數(shù)據(jù)庫(kù)中刪除。最后將刪除的記錄從列表框控件中清除并為編輯框控件變量賦默認(rèn)值。代碼如下:void CProductInfo:OnDelete() CAffirm dlg;if(dlg.DoModal()!=IDOK)/顯示確認(rèn)刪除對(duì)話框 return;_variant_t RecordsAffected;CString strSQL;/構(gòu)造刪除記錄的sql語(yǔ)句strSQL="delete from product
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度法律服務(wù)團(tuán)隊(duì)聘用合同范本下載
- 2025年度音樂(lè)噴泉與音響系統(tǒng)集成項(xiàng)目合同
- 知識(shí)產(chǎn)權(quán)教育實(shí)踐活動(dòng)計(jì)劃
- 科技創(chuàng)新應(yīng)用推廣工作方案計(jì)劃
- 學(xué)期后勤保障與支持計(jì)劃
- 2025年物位儀合作協(xié)議書
- 培養(yǎng)小學(xué)生的公民道德責(zé)任計(jì)劃
- 制定年度客戶滿意度提升計(jì)劃
- 如何構(gòu)建長(zhǎng)效的職業(yè)發(fā)展體系計(jì)劃
- 校園美術(shù)文化建設(shè)方案計(jì)劃
- 2025年部編版道德與法治五年級(jí)下冊(cè)全冊(cè)教案(含教學(xué)計(jì)劃)
- 2025中國(guó)水利水電第十二工程局限公司招聘400人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《辣椒主要病蟲害》課件
- 2024年煤礦安全生產(chǎn)知識(shí)培訓(xùn)考試必答題庫(kù)及答案(共190題)
- 《軟件開發(fā)質(zhì)量管理研究的國(guó)內(nèi)外文獻(xiàn)綜述》7100字
- 《法律援助》課件
- 碳中和技術(shù)概論 課件 第1-3章 碳中和概述、太陽(yáng)能、風(fēng)能
- 小兒肺炎治療與護(hù)理
- GB/T 36547-2024電化學(xué)儲(chǔ)能電站接入電網(wǎng)技術(shù)規(guī)定
- 育嬰員初級(jí)培訓(xùn)
- 學(xué)校物業(yè)管理投標(biāo)書范本
評(píng)論
0/150
提交評(píng)論