版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 《數(shù)據(jù)庫(kù)管理系統(tǒng)》</b></p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題 目:企業(yè)銷售管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 院 (系): 計(jì)算機(jī)與電子系 </p><p> 專業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)09
2、01班 </p><p> 學(xué)生姓名: </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 20 11 年 12 月 30 日至20 12 年
3、1 月 13 日</p><p> 數(shù)據(jù)庫(kù)管理系統(tǒng) 課程設(shè)計(jì)任務(wù)書(shū)</p><p><b> 目 錄</b></p><p> 1. 需求分析 ………………………………………………………………………………… 1</p><p> 1.1編寫(xiě)目的……………………………………………………………………………
4、…… 1</p><p> 1.2背景……………………………………………………………………………………… 1</p><p> 1.3系統(tǒng)目標(biāo)………………………………………………………………………………… 1</p><p> 1.4需求分析………………………………………………………………………………… 1</p><p> 1.5系
5、統(tǒng)功能分析…………………………………………………………………………… 1</p><p> 1.6數(shù)據(jù)字典………………………………………………………………………………… 4</p><p> 1.7數(shù)據(jù)流圖………………………………………………………………………………… 8</p><p> 2. 數(shù)據(jù)庫(kù)概念設(shè)計(jì) ………………………………………………………………
6、…………10</p><p> 2.1 E-R圖 ………………………………………………………………………………… 10</p><p> 3. 邏輯結(jié)構(gòu)設(shè)計(jì) ……………………………………………………………………………12</p><p> 3.1關(guān)系模式………………………………………………………………………………… 12</p><p&g
7、t; 3.2函數(shù)依賴………………………………………………………………………………… 12</p><p> 4. 物理結(jié)構(gòu)設(shè)計(jì)…………………………………………………………………………… 13</p><p> 5. 數(shù)據(jù)庫(kù)物理實(shí)現(xiàn)………………………………………………………………………… 14</p><p> 6. 系統(tǒng)前臺(tái)的實(shí)現(xiàn)……………………………………
8、…………………………………… 16</p><p> 6.1前臺(tái)設(shè)計(jì)步驟…………………………………………………………………………… 16</p><p> 7. 數(shù)據(jù)庫(kù)連接與配置……………………………………………………………………… 24</p><p> 8. 系統(tǒng)后臺(tái)功能測(cè)試……………………………………………………………………… 25</p>
9、<p> 8.1管理員操作截圖…………………………………………………………………………25</p><p> 8,2非管理員用戶非法操作截圖……………………………………………………………29</p><p> 總結(jié)……………………………………………………………………………………………31</p><p><b> 1 需求分析<
10、/b></p><p> 需求分析將從目的,背景,目標(biāo),及用戶需求等方面進(jìn)行分析,為概念設(shè)計(jì)提供依據(jù)。</p><p><b> 1.1編寫(xiě)目的</b></p><p> 設(shè)計(jì)一個(gè)企業(yè)商品管理系統(tǒng)供客戶和公司管理人員及有關(guān)人員的使用,降低管理成本,方便企業(yè)管理者對(duì)企業(yè)管理和了解。</p><p><b&
11、gt; 1.2背景</b></p><p> 隨著科學(xué)技術(shù)的提高,企業(yè)之間的競(jìng)爭(zhēng)日益激烈,如何在眾多的企業(yè)競(jìng)爭(zhēng)中取得優(yōu)勢(shì),快速準(zhǔn)確的獲取信息,從而加強(qiáng)企業(yè)內(nèi)部的管理,是企業(yè)或商場(chǎng)密切關(guān)注的問(wèn)題。而商品進(jìn)銷管理又是一個(gè)企業(yè)或商場(chǎng)不可或缺的部分,它的內(nèi)容對(duì)于企業(yè)或商場(chǎng)的決策者和管理者來(lái)說(shuō)至關(guān)重要,如何為用戶,企業(yè)員工提供充足的信息和快捷的銷售,查詢手段,為部門(mén)經(jīng)理獲得部門(mén)業(yè)務(wù),員工業(yè)績(jī)信息。從而提高企
12、業(yè)的運(yùn)營(yíng)效率,更好的吸收客戶,加強(qiáng)企業(yè)內(nèi)部管理,迅速做出決策。</p><p><b> 1.3系統(tǒng)目標(biāo)</b></p><p> 該系統(tǒng)目標(biāo)實(shí)現(xiàn)用戶注冊(cè)、登錄,搜索,瀏覽商品,修改訂單等操作;企業(yè)管理人員添加、刪除商品,管理商品種類,添加、刪除客戶、供應(yīng)商,統(tǒng)計(jì)管理業(yè)務(wù)往來(lái)的客戶、供應(yīng)商,處理訂單等操作。</p><p><b>
13、; 1.4需求分析</b></p><p> 需求分析主要包括以下內(nèi)容:系統(tǒng)功能需求,系統(tǒng)總體功能圖,數(shù)據(jù)字典,實(shí)體和數(shù)據(jù)。</p><p><b> 1.5系統(tǒng)功能分析</b></p><p> 根據(jù)進(jìn)銷的管理要求和對(duì)企業(yè)進(jìn)銷商品的分析,在只考慮企業(yè)已經(jīng)完成的銷售及采購(gòu)商品業(yè)務(wù)而進(jìn)行的商品進(jìn)銷管理系統(tǒng)應(yīng)該提供以下方面的功能
14、。</p><p> 1.5.1員工基本信息管理</p><p> 提供員工的基本信息錄入及其查詢功能。包括:</p><p> (1)系統(tǒng)管理員錄入員工的基本信息。</p><p> (2)系統(tǒng)管理員更新,增加和刪除員工的基本信息。</p><p> (3)用戶可根據(jù)員工名字和編號(hào)查詢員工基本信息。<
15、/p><p> 1.5.2客戶基本信息管理</p><p> 提供客戶基本信息錄入,維護(hù)和查詢功能。包括:</p><p> (1)系統(tǒng)管理員錄入客戶基本信息。</p><p> (2)系統(tǒng)管理員更新,增加和刪除客戶基本信息。</p><p> (3)用戶可根據(jù)客戶編號(hào),名字查詢客戶基本信息。</p>
16、<p> 1.5.3供應(yīng)商基本信息管理</p><p> 提供供應(yīng)商基本信息錄入,維護(hù)和查詢功能。包括:</p><p> (1)系統(tǒng)管理員錄入供應(yīng)商基本信息。</p><p> (2)系統(tǒng)管理員可更新,增加和刪除供應(yīng)商基本信息。</p><p> (3)用戶可根據(jù)供應(yīng)商編號(hào),名字查詢供應(yīng)商基本信息。</p>
17、;<p> 1.5.4商品基本信息管理</p><p> 提供供應(yīng)商基本信息錄入,維護(hù)和查詢功能。包括:</p><p> (1)系統(tǒng)管理員錄入商品基本信息。</p><p> (2)系統(tǒng)管理員可更新,增加和刪除商品基本信息。</p><p> (3)用戶可根據(jù)商品編號(hào),名字查詢商品基本信息。</p>&
18、lt;p> 1.5.5商品銷售管理</p><p> 提供商品的銷售信息。</p><p> (1)系統(tǒng)管理員錄入商品銷售情況基本信息。</p><p> (2)系統(tǒng)管理員可根據(jù)企業(yè)提供的要求,對(duì)有關(guān)信息進(jìn)行修改,增加和刪除。</p><p> (3)用戶可根據(jù)商品編號(hào),員工編號(hào)對(duì)商品進(jìn)行查詢。</p><
19、p> 1.5.6商品進(jìn)貨管理</p><p> 提供商品的進(jìn)貨信息。</p><p> (1)系統(tǒng)管理員錄入商品進(jìn)貨情況基本信息。</p><p> (2)系統(tǒng)管理員可根據(jù)企業(yè)提供的要求,對(duì)有關(guān)信息進(jìn)行修改,增加和刪除。</p><p> (3)用戶可根據(jù)進(jìn)貨單編號(hào),商品編號(hào),員工編號(hào)對(duì)商品進(jìn)行查詢。</p>&
20、lt;p><b> 1.5.7銷售查詢</b></p><p> 提供不同方式的商品銷售情況查詢。包括:</p><p> (1)按銷售單編號(hào)查詢:用戶可根據(jù)銷售單編號(hào)查詢?cè)撋唐返匿N售情況。</p><p> (2)按商品編號(hào)查詢:用戶可根據(jù)商品編號(hào)查詢?cè)撋唐返匿N售情況。;</p><p> (3)用戶可
21、根據(jù)商品名稱查詢某商品的銷售情況。</p><p> (4)按員工編號(hào)查詢:用戶可根據(jù)商品編號(hào)查詢?cè)撋唐返匿N售情況。</p><p> (5)按員工名稱查詢:用戶可根據(jù)商品名稱查詢某商品的銷售情況。</p><p> (6)按客戶編號(hào)查詢:用戶可根據(jù)商品編號(hào)查詢?cè)撋唐返匿N售情況。</p><p> (7)按客戶名稱查詢:用戶可根據(jù)商品
22、名稱查詢某商品的銷售情況。</p><p> 1.5.8 進(jìn)貨情況查詢</p><p> 提供不同方式的商品進(jìn)貨情況查詢。包括:</p><p> (1)按進(jìn)貨單編號(hào)查詢:用戶可根據(jù)進(jìn)貨單編號(hào)查詢?cè)撋唐返匿N售情況。</p><p> (2)按商品編號(hào)查詢:用戶可根據(jù)商品編號(hào)查詢?cè)撋唐返倪M(jìn)貨情況。</p><p>
23、; (3)按商品名稱查詢:用戶可根據(jù)商品名稱查詢某商品的進(jìn)貨情況。</p><p> (4)按員工編號(hào)查詢:用戶可根據(jù)商品編號(hào)查詢?cè)撋唐返倪M(jìn)貨情況。</p><p> (5)按員工名稱查詢:用戶可根據(jù)商品名稱查詢某商品的進(jìn)貨情況。</p><p> (6)按供貨商編號(hào)查詢:用戶可根據(jù)商品編號(hào)查詢?cè)撋唐返倪M(jìn)貨情況。</p><p>
24、(7)按供貨商名稱查詢:用戶可根據(jù)商品名稱查詢某商品的進(jìn)貨情況。</p><p> 1.5.9 信息統(tǒng)計(jì)包括</p><p> (1)員工業(yè)績(jī)統(tǒng)計(jì):根據(jù)企業(yè)提供的銷售單,按員工編號(hào)分類匯總員工在某一時(shí)期內(nèi)的銷售額從而確定員工業(yè)績(jī)。</p><p> (2)客戶購(gòu)貨統(tǒng)計(jì):根據(jù)銷售主單客戶的購(gòu)貨情況統(tǒng)計(jì)所有的客戶長(zhǎng)期以來(lái)與 本企業(yè)發(fā)生的業(yè)務(wù)往來(lái),購(gòu)貨數(shù)量。&l
25、t;/p><p> (3)商品銷售統(tǒng)計(jì):以查看某一時(shí)段每一種是商品的銷售數(shù)量。</p><p> 1.5.10用戶及其權(quán)限管理:</p><p> 提供用戶管理,權(quán)限分配,登陸及權(quán)限證等功能。包括:</p><p> (1)增加,刪除用戶。</p><p> (2)用戶角色及其權(quán)限分配。</p>&
26、lt;p> (3)用戶登陸及權(quán)限驗(yàn)證。</p><p> (4)更改用戶密碼。</p><p> 圖1-1 系統(tǒng)功能結(jié)構(gòu)圖</p><p><b> 1.6 數(shù)據(jù)字典 </b></p><p> 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中所包含的所有元素的定義的集合。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)
27、的邏輯模型 </p><p><b> 1.6.1數(shù)據(jù)存儲(chǔ)</b></p><p><b> (1)</b></p><p><b> 數(shù)據(jù)項(xiàng):職工信息</b></p><p> 數(shù)據(jù)來(lái)源:職工信息表</p><p><b> 數(shù)據(jù)去
28、向:職工模塊</b></p><p> 數(shù)據(jù)結(jié)構(gòu):職工信息=職工編號(hào)+職工賬號(hào)+職工密碼+職工權(quán)限</p><p> 處理過(guò)程:存儲(chǔ)職工的基本信息</p><p><b> (2)</b></p><p><b> 數(shù)據(jù)項(xiàng):管理員信息</b></p><p&g
29、t; 數(shù)據(jù)來(lái)源:管理員信息表</p><p> 數(shù)據(jù)去向:管理員登錄模塊</p><p> 數(shù)據(jù)結(jié)構(gòu):管理員信息=管理員唯一標(biāo)識(shí)+管理員帳號(hào)+管理員密碼+管理員權(quán)限</p><p> 處理過(guò)程:存儲(chǔ)管理員基本信息</p><p><b> (3)</b></p><p><b>
30、; 數(shù)據(jù)項(xiàng):商品信息</b></p><p> 數(shù)據(jù)來(lái)源:商品信息表</p><p><b> 數(shù)據(jù)去向:商品模塊</b></p><p> 數(shù)據(jù)結(jié)構(gòu):商品信息=商品唯一標(biāo)識(shí)+商品名稱+價(jià)格+數(shù)量+供應(yīng)商等</p><p> 處理過(guò)程:存儲(chǔ)商品信息</p><p><b
31、> (4)</b></p><p><b> 數(shù)據(jù)項(xiàng):客戶信息</b></p><p> 數(shù)據(jù)來(lái)源:客戶信息表</p><p><b> 數(shù)據(jù)去向:客戶模塊</b></p><p> 數(shù)據(jù)結(jié)構(gòu):客戶信息=客戶姓名+聯(lián)系電話+聯(lián)系地址+編號(hào)等 </p><
32、;p> 處理過(guò)程:存儲(chǔ)客戶信息</p><p><b> (5)</b></p><p><b> 數(shù)據(jù)項(xiàng):供應(yīng)商信息</b></p><p> 數(shù)據(jù)來(lái)源:供應(yīng)商信息表</p><p> 數(shù)據(jù)去向:供應(yīng)商模塊</p><p> 數(shù)據(jù)結(jié)構(gòu):供應(yīng)商信息=供應(yīng)商姓
33、名+聯(lián)系電話+聯(lián)系地址 </p><p> 處理過(guò)程:存儲(chǔ)供應(yīng)商信息</p><p><b> (6)</b></p><p><b> 數(shù)據(jù)項(xiàng):庫(kù)存信息</b></p><p> 數(shù)據(jù)來(lái)源:庫(kù)存信息表</p><p> 數(shù)據(jù)去向:庫(kù)存信息模塊</p>
34、<p> 數(shù)據(jù)結(jié)構(gòu):庫(kù)存信息=編號(hào)+商品名稱+價(jià)格+數(shù)量+添加時(shí)間+供貨商信息等 </p><p> 處理過(guò)程:存儲(chǔ)了庫(kù)存信息</p><p><b> (7)</b></p><p><b> 數(shù)據(jù)項(xiàng):銷售信息</b></p><p> 數(shù)據(jù)來(lái)源:銷售信息表</p>
35、;<p> 數(shù)據(jù)去向:銷售信息模塊</p><p> 數(shù)據(jù)結(jié)構(gòu):銷售信息=銷售信息唯一標(biāo)識(shí)+貨物名稱+商品單價(jià)+數(shù)量+銷售員編號(hào)+倉(cāng)庫(kù)編號(hào)等 </p><p> 處理過(guò)程:存儲(chǔ)銷售詳細(xì)信息</p><p><b> 1.6.2數(shù)據(jù)處理</b></p><p><b> (8)</b
36、></p><p> 名稱:管理員登錄系統(tǒng)進(jìn)行管理員登錄管理</p><p> 輸入:管理員的用戶名、密碼</p><p> 過(guò)程:判斷是否為合法的管理員</p><p><b> 輸出:系統(tǒng)主界面</b></p><p><b> (9)</b></p
37、><p><b> 名稱:查詢信息</b></p><p> 處理過(guò)程:根據(jù)條件查詢所需信息:貨物信息等</p><p><b> 輸入:輸入查詢條件</b></p><p> 過(guò)程:查詢系統(tǒng)的用戶所需的信息</p><p> 輸出:查詢得到的信息頁(yè)面</p>
38、;<p><b> (10)</b></p><p><b> 名稱:錄入信息</b></p><p> 處理過(guò)程:職員信息,貨物信息等的錄入</p><p> 輸入:輸入要添加錄入的信息</p><p> 過(guò)程:將需要添加錄入的信息加入數(shù)據(jù)庫(kù)中</p><
39、;p> 輸出:查詢得到的信息頁(yè)面</p><p><b> (11)</b></p><p> 名稱:修改、刪除信息</p><p> 處理過(guò)程:對(duì)職員信息,貨物信息等修改、刪除或存入數(shù)據(jù)庫(kù)</p><p> 輸入:輸入要修改或刪除的信息</p><p> 過(guò)程:對(duì)需要修改的信息
40、做修改、刪除過(guò)時(shí)的信息</p><p> 輸出:系統(tǒng)新的信息表頁(yè)面</p><p><b> 1.6.3數(shù)據(jù)存儲(chǔ)</b></p><p><b> (12)據(jù)庫(kù)信息</b></p><p><b> (13)物數(shù)據(jù)項(xiàng)</b></p><p>
41、(14)物入庫(kù)數(shù)據(jù)項(xiàng)</p><p><b> (15)應(yīng)商數(shù)據(jù)項(xiàng)</b></p><p><b> (16)職工數(shù)據(jù)項(xiàng)</b></p><p><b> (17)戶數(shù)據(jù)項(xiàng)</b></p><p><b> 數(shù)據(jù)流圖</b></p>
42、<p> 通過(guò)仔細(xì)參考需求分析中的內(nèi)容,并結(jié)合題目中描述的數(shù)據(jù)庫(kù)要求達(dá)到的要求,將其抽象成數(shù)據(jù)流圖,首先確定頂層圖,頂層圖的作用在表明被開(kāi)發(fā)系統(tǒng)的范圍以及它周?chē)h(huán)境的數(shù)據(jù)交換關(guān)系。如下是該設(shè)計(jì)的頂層圖:</p><p><b> 圖1-2 頂層圖</b></p><p><b> 圖1-3 數(shù)據(jù)流圖</b></p>
43、<p><b> 2 概念結(jié)構(gòu)設(shè)計(jì)</b></p><p><b> 2.1 E-R圖</b></p><p> 根據(jù)數(shù)據(jù)流圖得出E-R圖</p><p> 圖2-1銷售管理子系統(tǒng)分E-R圖</p><p> 圖2-2進(jìn)貨管理子系統(tǒng)分E-R圖</p><p&g
44、t; 圖2-3并后總E-R圖</p><p><b> 3 邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p><b> 3 .1關(guān)系模式</b></p><p> 企業(yè)銷售管理系統(tǒng)的邏輯結(jié)構(gòu)為:</p><p> 員工(員工編號(hào),姓名,性別,地址)</p><p> 商品(商
45、品編號(hào),名稱,單位,備注)</p><p> 客戶(客戶編號(hào),姓名,電話,地址)</p><p> 供應(yīng)商(供應(yīng)商編號(hào),姓名,電話)</p><p> 銷售(銷售單號(hào),商品編號(hào),客戶編號(hào),處理員工,商品名稱,銷售數(shù)量,銷售單價(jià))</p><p> 進(jìn)貨(進(jìn)貨單號(hào),商品編號(hào),商品進(jìn)價(jià),進(jìn)貨數(shù)量,處理員工,供應(yīng)商編號(hào))</p>
46、<p><b> 3.2 函數(shù)依賴</b></p><p> 將E-R模型轉(zhuǎn)換為數(shù)據(jù)模型后,還要進(jìn)行數(shù)據(jù)模型的優(yōu)化:</p><p> 員工表的函數(shù)依賴集為{員工編號(hào)->(姓名,性別,地址)}滿足第三范式條件,屬于第三范式。</p><p> 客戶表的函數(shù)依賴集為{客戶編號(hào)->(姓名,地址,電話)}滿足第三范式
47、條件,屬于第三范式。</p><p> 供應(yīng)商表的函數(shù)依賴集為{供應(yīng)商編號(hào)->(姓名,電話)}滿足第三范式條件,屬于第三范式。</p><p> 商品{商品編號(hào)->(商品名稱,價(jià)格,單位,備注)}滿足第三范式條件,屬于第三范式。</p><p> 銷售表的函數(shù)依賴集為{銷售單號(hào), 商品編號(hào)->(銷售數(shù)量,銷售單價(jià))}{商品編號(hào)->商品名
48、稱}{銷售單號(hào)->客戶編號(hào),處理員工}滿足第三范式條件,屬于第三范式。</p><p> 進(jìn)貨表的函數(shù)依賴集為{進(jìn)貨單號(hào),商品編號(hào)->(商品進(jìn)價(jià),進(jìn)貨數(shù)量)} {進(jìn)貨單號(hào)->(處理員工,供應(yīng)商編號(hào))} {商品編號(hào)->商品名稱} 滿足第三范式條件,屬于第三范式。</p><p><b> 4 物理結(jié)構(gòu)設(shè)計(jì)</b></p&
49、gt;<p> 經(jīng)過(guò)分析物理結(jié)構(gòu)設(shè)計(jì),本系統(tǒng)需建立兩個(gè)聚集索引,分別為Users.UsetID, Products.ProductID。本系統(tǒng)約束條件如下:Products.ProductID,Users.UsetID,Customer,CustomerID分別為各自表中的主鍵Users.UsetID與 Products.ProductID共同構(gòu)成了Sales表的外鍵,同時(shí)Products.ProductID又是Prod
50、uctIn表的外鍵。為了保證Users.UserID的唯一性,其采用了IDENTITY(1,1)函數(shù)。</p><p> 系統(tǒng)還需構(gòu)建多張表,用于顯示不同需求,此外還需構(gòu)建大量的觸發(fā)器,在下文中,會(huì)一一論述。</p><p> 5 數(shù)據(jù)庫(kù)物理實(shí)現(xiàn)</p><p> 根據(jù)上述分析,建立一個(gè)名為POS的數(shù)據(jù)庫(kù),此數(shù)據(jù)庫(kù)初始大小為3MB,增長(zhǎng)值為1MB,無(wú)增長(zhǎng)上限
51、。還須見(jiàn)一個(gè)同樣大小的pos_log日志文件,增長(zhǎng)值同樣為1MB,無(wú)上限。在數(shù)據(jù)庫(kù)中建立五張表,分別為,用來(lái)存放用戶信息的Users表,其內(nèi)容包括編號(hào)、用戶名、密碼、用戶權(quán)限、職工ID;用于存儲(chǔ)客戶信息的Customer表,內(nèi)容包括用戶銷售數(shù)據(jù)倉(cāng)庫(kù)號(hào)與職工ID;用來(lái)存儲(chǔ)商品信息的Products表,內(nèi)容包括商品ID、商品名、商品單價(jià)、商品單位、商品供貨信息;用于存儲(chǔ)商品進(jìn)貨信息的ProductIn表,內(nèi)容包括商品ID、進(jìn)貨數(shù)量、進(jìn)貨時(shí)間
52、;用于存儲(chǔ)商品銷售信息的Sales表,內(nèi)容包括商品ID、職工ID、銷售量、銷售日期。</p><p> 圖5-1各表關(guān)系視圖</p><p> 在數(shù)據(jù)庫(kù)中建立的觸發(fā)器有多個(gè),還有多個(gè)向數(shù)據(jù)庫(kù)中添加數(shù)據(jù)的字段:</p><p> 將商品信息存入Products表</p><p> sql = "insert Products(
53、ProductID,ProductName,UnitPrice,Unit,Remark) " & _</p><p> "values(" & txtProductInfo(0).Text & ",'" & _</p><p> txtProductInfo(1).Text & "
54、;'," & monPrice & ",'"</p><p> sql = sql & cboUnit.Text & "','" & txtProductInfo(4).Text & "')"</p><p> ExeSQL (s
55、ql)</p><p> '將進(jìn)貨信息存入ProductIn表</p><p> sql = "insert ProductIn values(" & txtProductInfo(0).Text & "," & _</p><p> txtProductInfo(3).Text &am
56、p; ",'" & dtpInDate.Value & "')"</p><p> ExeSQL (sql)</p><p><b> 將信息存入銷售表</b></p><p> sql = "INSERT Sales VALUES('"
57、& intProductId & "','" & frmLogin.intUserId & "','" & intProductQty & "',GETDATE())"</p><p> ExeSQL (sql)</p><p> 6 系
58、統(tǒng)前臺(tái)的實(shí)現(xiàn)</p><p><b> 6.1前臺(tái)設(shè)計(jì)步驟</b></p><p> 6.1.1設(shè)計(jì)公共模塊</p><p> 此模塊主要用來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接功能,因?yàn)楸灸K用到了ADO對(duì)象,所以應(yīng)首先添加一個(gè)名為[Microsoft Active Data Objects 2.8 Library]的工程引用,然后在工程中添加代碼,主要功
59、能是:函數(shù)使用ADO的連接對(duì)象與數(shù)據(jù)庫(kù)進(jìn)行連接,設(shè)置連接字符串strConnection的屬性值,函數(shù)后面還使用了出錯(cuò)處理,代碼為:</p><p> ErrHandler:</p><p><b> ' 顯示錯(cuò)誤信息</b></p><p> MsgBox "錯(cuò)誤號(hào):" & Err.Number &a
60、mp; " 錯(cuò)誤信息:" & Err.Description, vbExclamation</p><p> Resume ExeSQl_Exit</p><p> 以及為了確保子窗口打開(kāi)時(shí)位于窗口居中偏上的位置,還添加了定位函數(shù),代碼為:</p><p> Dim Top As Integer</p><p&g
61、t; Top = (frmMain.ScaleHeight - frm.Height) / 2 - 600</p><p> If Top > 0 Then</p><p> frm.Top = Top</p><p><b> Else</b></p><p> frm.Top = 0</p>
62、;<p><b> End If</b></p><p> frm.Left = (frmMain.ScaleWidth - frm.Width) / 2</p><p> 6.1.2設(shè)計(jì)登陸窗口</p><p> 登陸窗口主要是用來(lái)判斷用戶是不是具備使用該系統(tǒng)的權(quán)利。用戶輸入密碼后,單擊[確定]按鈕,應(yīng)用程序從文本框內(nèi)取
63、出用戶輸入的用戶名、密碼,然后與數(shù)據(jù)庫(kù)中用戶信息表Users中已有的數(shù)據(jù)進(jìn)行比較。如果在表中有相符的用戶信息,則該用戶可以進(jìn)入系統(tǒng),否則不能進(jìn)入系統(tǒng),從而達(dá)到防止他人非法進(jìn)入的目的。</p><p> 表6-1登陸窗口屬性值設(shè)置</p><p> 6.1.3設(shè)計(jì)主窗口</p><p> 用戶輸入正確的用戶名、密碼之后,登陸系統(tǒng),就進(jìn)入主窗口。主窗口三系統(tǒng)功能集
64、中的地方,從主窗口中可以打開(kāi)系統(tǒng)其他的窗口。在本銷售管理系統(tǒng)中,應(yīng)用程序采用MDI風(fēng)格,這樣方便用戶在各個(gè)不同的應(yīng)用間切換。本系統(tǒng)的主窗口是用來(lái)管理各個(gè)應(yīng)用模塊的,在主窗口中,用戶可以方便的調(diào)用各個(gè)子模塊,執(zhí)行相應(yīng)的操作</p><p> 表6-2主窗口屬性值設(shè)置</p><p> 主窗口的代碼主要是菜單的OnClick事件處理程序,值得注意的是,本系統(tǒng)中共有三類用戶:第一類是系統(tǒng)管理
65、員,具有最高權(quán)限,該類用戶在用戶數(shù)據(jù)表Users中的JobID值為1;第二類用戶只能使用[庫(kù)存管理模塊],該類用戶在用戶數(shù)據(jù)表Users中的JobID值為2;第三類用戶只能使用[商品銷售]模塊,該類用戶在用戶數(shù)據(jù)表Users中的JobID值為3。其中實(shí)現(xiàn)錄入商品的代碼如下:</p><p> Private Sub mnuAddProducts_Click()</p><p> If
66、frmLogin.intJobId = 2 Or frmLogin.intJobId = 1 Then</p><p> frmAddProduct.Show</p><p><b> Else</b></p><p> MsgBox "你沒(méi)有該項(xiàng)權(quán)限!", vbExclamation</p><p
67、><b> Exit Sub</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> 6.1.4設(shè)計(jì)用戶窗口管理</p><p> 用戶窗口管理是用來(lái)對(duì)本系統(tǒng)所有用戶進(jìn)行添加、刪除等管理操作&l
68、t;/p><p> 表6-3用戶管理窗口屬性值設(shè)置</p><p> 圖6-1用戶管理窗口布局</p><p> 首先調(diào)用公共模塊basMain中的自定義函數(shù)ChangeFormPos,來(lái)設(shè)置窗口的位置,然后設(shè)置[用戶權(quán)限]下拉選項(xiàng)。[保存]按鈕用來(lái)將設(shè)置好的用戶信息保存到數(shù)據(jù)庫(kù)中,在設(shè)置過(guò)程中向數(shù)據(jù)庫(kù)中添加數(shù)據(jù),代碼如下:</p><p>
69、; sql = "insert Users values('" & txtUserName.Text & "','" & _</p><p> txtPassword1.Text & "','" & _</p><p> cboAuthorit
70、y.Text & "','" & intAuth & "')"</p><p> ExeSQL (sql)</p><p> 6.1.5設(shè)計(jì)修改密碼窗口</p><p> 為確保系統(tǒng)安全,需要經(jīng)常更改密碼,此窗口的主要任務(wù)就在于此。此窗口設(shè)計(jì)與用戶管理設(shè)計(jì)十分類似,在此就不
71、做論述。</p><p> 圖6-2密碼修改窗口布局</p><p> 在此窗口中向數(shù)據(jù)庫(kù)中添加數(shù)據(jù),代碼如下:</p><p> sql = "update Users set UserPassword = '" & _</p><p> txtNewKey.Text & "
72、39; where UserName = '" & _</p><p> txtUserName.Text & "'"</p><p> ExeSQL (sql)</p><p> 6.1.6設(shè)計(jì)錄入商品窗口</p><p> 商品從廠家生產(chǎn)后,需入庫(kù)保存,此窗口主要用來(lái)實(shí)
73、現(xiàn)商品錄入功能。</p><p> 表6-4錄入商品窗口屬性值設(shè)置</p><p> 圖6-3錄入商品窗口布局</p><p> 此窗口引用了DTPicker控件,用來(lái)接受日期輸入,將商品存入Products表時(shí),本系統(tǒng)向數(shù)據(jù)庫(kù)中添加數(shù)據(jù),代碼如下:</p><p> 將商品信息存入Products表</p><p
74、> sql = "insert Products(ProductID,ProductName,UnitPrice,Unit,Remark) " & "values(" & txtProductInfo(0).Text & ",'" & _</p><p> txtProductInfo(1).Text &
75、amp; "'," & monPrice & ",'"</p><p> sql = sql & cboUnit.Text & "','" & txtProductInfo(4).Text & "')"</p><p>
76、 ExeSQL (sql)</p><p> 將進(jìn)貨信息存入ProductIn表</p><p> sql = "insert ProductIn values(" & txtProductInfo(0).Text & "," & _</p><p> txtProductInfo(3).Text
77、 & ",'" & dtpInDate.Value & "')"</p><p> ExeSQL (sql)</p><p> 6.1.7設(shè)計(jì)修改和刪除商品窗口</p><p> 當(dāng)商品錄入后,可能會(huì)根據(jù)需要,對(duì)商品進(jìn)行一些修改、刪除操作,本窗口主要用來(lái)實(shí)現(xiàn)此功能。</p&g
78、t;<p> 圖6-4修改和刪除商品窗口布局</p><p> 此窗口引入了ADO Data屬性控件,需要生成連接字符串,根據(jù)需要,在服務(wù)器B86上生成的與數(shù)據(jù)庫(kù)POS連接字符串為Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pos;Data Source=B86&
79、lt;/p><p><b> 6.1.8其他設(shè)計(jì)</b></p><p> 圖6-5查詢商品窗口</p><p> 圖6-6銷售商品窗口</p><p> 圖6-7查詢銷售情況窗口</p><p> 圖6-8查看用戶系統(tǒng)表</p><p> 圖6-9查看產(chǎn)品信息表&
80、lt;/p><p> 圖6-10查看顧客信息表</p><p> 7 數(shù)據(jù)庫(kù)連接與配置</p><p> 本銷售系統(tǒng)通過(guò)VB實(shí)現(xiàn)前臺(tái)功能,具體實(shí)現(xiàn)步驟闡述如下:</p><p> 1.采用ADO數(shù)據(jù)訪問(wèn)技術(shù)訪問(wèn)數(shù)據(jù)庫(kù)</p><p> 系統(tǒng)采用ADO對(duì)象的Connection對(duì)象,建立與數(shù)據(jù)庫(kù)源之間的連接,代碼
81、為strConnection = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pos;Data Source=127.0.0.1";</p><p> 系統(tǒng)采用ADO對(duì)象的Command對(duì)象對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢操作、存儲(chǔ)過(guò)程或數(shù)據(jù)表名稱、SQL語(yǔ)句等取出符合條件
82、的數(shù)據(jù)內(nèi)容;</p><p> 系統(tǒng)采用ADO對(duì)象的Recordset對(duì)象操作數(shù)據(jù)記錄。使用Recordset可以查詢、添加、刪除、修改記錄,如:</p><p> Private Sub Form_Activate()</p><p> Dim sql As String</p><p> Dim rs As ADODB.Recor
83、dset</p><p> sql = "select * from MachineUser where UserID = '" & frmLogin.intUserId & "'"</p><p> Set rs = ExeSQL(sql)</p><p> lblMachineId.C
84、aption = rs!MachineID</p><p> lblUserId.Caption = frmLogin.intUserId</p><p> txtProductId.SetFocus</p><p><b> End Sub</b></p><p> 這段代碼就使用了Recordset對(duì)象進(jìn)行窗
85、口激活</p><p> 在窗口中,還使用了ADO Data屬性控件,需要生成連接字符串,根據(jù)需要,在服務(wù)器B86上生成的與數(shù)據(jù)庫(kù)POS連接字符串為Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pos;Data Source=B86</p><p> 8
86、 系統(tǒng)后臺(tái)功能測(cè)試</p><p> 8.1管理員操作截圖</p><p><b> 圖8-1登錄主菜單</b></p><p><b> 圖8-2添加商品</b></p><p> 圖8-3修改和刪除商品</p><p><b> 圖8-4查詢商品<
87、;/b></p><p><b> 圖8-5銷售商品</b></p><p> 圖8-6查詢銷售情況</p><p> 圖8-7查看用戶系統(tǒng)表</p><p> 圖8-8查看產(chǎn)品信息表</p><p> 圖8-9查看客戶信息表</p><p> 8.2非管
88、理員用戶非法操作截圖</p><p> 圖8-10無(wú)權(quán)限操作</p><p> 該圖反映出的是數(shù)據(jù)庫(kù)中創(chuàng)建的觸發(fā)器</p><p><b> 總結(jié)</b></p><p> ?。?)主要問(wèn)題及解決方法</p><p> 在本次設(shè)計(jì)中,遇到的主要問(wèn)題是前臺(tái)無(wú)法與數(shù)據(jù)庫(kù)鏈接,于是首先檢查了前臺(tái)
89、用于鏈接數(shù)據(jù)庫(kù)的代碼段strConnection = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pos;Data Source=127.0.0.1"沒(méi)有發(fā)現(xiàn)問(wèn)題,于是考慮可能是數(shù)據(jù)庫(kù)服務(wù)器設(shè)置的問(wèn)題,于是檢查服務(wù)器安全性,發(fā)現(xiàn)服務(wù)器身份驗(yàn)證模式為Windows身份驗(yàn)證模式,于是改成
90、SQL Server和Windows身份驗(yàn)證模式,但運(yùn)行時(shí)仍然出現(xiàn)“實(shí)時(shí)錯(cuò)誤91,對(duì)象變量或with或塊變量未設(shè)置”錯(cuò)誤提示,分析此時(shí)的問(wèn)題還是無(wú)法實(shí)現(xiàn)前臺(tái)與系統(tǒng)的通信,后考慮到可能是默認(rèn)帳號(hào)sa的問(wèn)題,因?yàn)楸鞠到y(tǒng)采用sa默認(rèn)帳號(hào)鏈接數(shù)據(jù)庫(kù),將密碼改成123456后,登錄成功。成功實(shí)現(xiàn)連接后,但系統(tǒng)的查詢功能均無(wú)法實(shí)現(xiàn),提示錯(cuò)誤</p><p> 后經(jīng)分析發(fā)現(xiàn),系統(tǒng)使用查詢功能時(shí),采用了ADO Data屬性控件
91、做連接,沒(méi)有生成對(duì)應(yīng)的鏈接字符串,于是生成了鏈接字符串,Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pos;Data Source=B86</p><p><b> 工作正常。</b></p><p> 在設(shè)計(jì)過(guò)程中還多次遇到編譯器
92、編譯正常,但無(wú)法顯示結(jié)果的問(wèn)題,經(jīng)分析發(fā)現(xiàn)所有出現(xiàn)問(wèn)題的模塊都涉及到了調(diào)用數(shù)據(jù)庫(kù)信息,于是問(wèn)題判斷出在對(duì)后臺(tái)數(shù)據(jù)庫(kù)的調(diào)用上,經(jīng)檢查發(fā)現(xiàn)是ADO Data屬性控件的紀(jì)錄源書(shū)寫(xiě)錯(cuò)誤,更改后正常。</p><p> ?。?)創(chuàng)新和得意之處</p><p> 本系統(tǒng)最大的創(chuàng)新是使用了VB語(yǔ)言搭建前臺(tái),VB語(yǔ)言對(duì)我來(lái)講是一門(mén)陌生的語(yǔ)言,為了能夠更好地掌握這門(mén)語(yǔ)言,我從課設(shè)開(kāi)始前一個(gè)月就在圖書(shū)館找了
93、本書(shū)慢慢摸索,最終在規(guī)定日期前,順利的完成了課設(shè)。</p><p> ?。?)課程設(shè)計(jì)中的不足</p><p> 由于時(shí)間緊,有些前期設(shè)想好的功能沒(méi)有實(shí)現(xiàn),例如將每位顧客每次購(gòu)買(mǎi)的商品存入顧客數(shù)據(jù)庫(kù),方便以后查閱,例如為供貨商專門(mén)建議一個(gè)表項(xiàng),用于供貨商的詳細(xì)記錄。</p><p> 其次是本系統(tǒng)的前臺(tái)不夠美觀,為此次設(shè)計(jì)留下了遺憾。</p>&l
94、t;p><b> ?。?)心得和體會(huì)</b></p><p> 由于我是在數(shù)據(jù)庫(kù)課設(shè)正式開(kāi)始前一個(gè)月就開(kāi)始搭建前臺(tái),所以難免有些地方達(dá)不到老師的要求,需要做大量的整改,再者,由于對(duì)VB不是很熟悉,在創(chuàng)作過(guò)程中遇到了很多的問(wèn)題。這些日子大半來(lái)講是在調(diào)bug中度過(guò)的,不過(guò)這段艱苦的日子過(guò)后,感覺(jué)自己受益良多,無(wú)論是對(duì)數(shù)據(jù)庫(kù)的理解,還是對(duì)VB的使用,都上升了一個(gè)臺(tái)階。</p>
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--- 銷售管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--銷售管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)論文---汽車(chē)銷售管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-醫(yī)藥銷售管理系統(tǒng)
- 圖書(shū)銷售管理系統(tǒng)--數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)汽車(chē)銷售管理系統(tǒng)
- 圖書(shū)銷售管理系統(tǒng)(數(shù)據(jù)庫(kù)課程設(shè)計(jì))
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---醫(yī)藥銷售管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--圖書(shū)銷售管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--藥店銷售管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-醫(yī)藥銷售管理系統(tǒng)
- 手機(jī)銷售管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 大型數(shù)據(jù)庫(kù)課程設(shè)計(jì)---銷售管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--藥品銷售管理系統(tǒng)
- 圖書(shū)銷售管理系統(tǒng)--數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(電腦銷售系統(tǒng)設(shè)計(jì))
- 醫(yī)藥銷售管理數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 汽車(chē)-銷售系統(tǒng)-數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---中小型超市銷售管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--手機(jī)銷售管理
評(píng)論
0/150
提交評(píng)論