885191326商品進(jìn)銷存管理系統(tǒng)設(shè)計論文數(shù)據(jù)庫設(shè)計論文_第1頁
885191326商品進(jìn)銷存管理系統(tǒng)設(shè)計論文數(shù)據(jù)庫設(shè)計論文_第2頁
885191326商品進(jìn)銷存管理系統(tǒng)設(shè)計論文數(shù)據(jù)庫設(shè)計論文_第3頁
885191326商品進(jìn)銷存管理系統(tǒng)設(shè)計論文數(shù)據(jù)庫設(shè)計論文_第4頁
885191326商品進(jìn)銷存管理系統(tǒng)設(shè)計論文數(shù)據(jù)庫設(shè)計論文_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)庫設(shè)計論文 商品進(jìn)銷存管理系統(tǒng)商品進(jìn)銷存管理系統(tǒng) 2010 年 1 月 10 日 摘摘 要要 進(jìn)銷存管理系統(tǒng)能夠及時將數(shù)據(jù)快速轉(zhuǎn)化為企業(yè)信息,為管理者提供決策 依據(jù)。本系統(tǒng)對企業(yè)中常見的采購、庫存、銷售等商業(yè)活動以及相關(guān)的供應(yīng)商 和客戶等基本信息進(jìn)行管理,自動生成采購入庫單、出庫單,定期盤點庫存, 查詢歷史采購和銷售記錄;維護(hù)產(chǎn)品信息、客戶信息和供應(yīng)商信息等。系統(tǒng)設(shè) 計不具體對某一個行業(yè)或企業(yè),具有一定的普適性。 系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)各種信息的系統(tǒng)化、規(guī)范化、自動化。以進(jìn)、 銷、存管理為基本要求,主要功能包括:用戶名和密碼的管理、基本信息的輸 入和修改、進(jìn)貨信息的管理、銷售信息的管理、

2、庫存信息的管理、財務(wù)信息的 管理。設(shè)計的模塊主要是實現(xiàn)用戶名和密碼的管理、基本信息的輸入和修改、 進(jìn)貨信息的管理。 關(guān)鍵詞:商業(yè)信息管理,數(shù)據(jù)庫,sqlsever2000,visual basic abstractabstract there are some still common characteristics and questions among the retailers and chain stores in selling medium and small-scale in batches .in order to solve there problems ,we have d

3、esigned the system of goods inlet ,sale and stored .this system is a multi-layer database system ,which use vb as the front developing instrument ,sqlsever2000 as backstage supporters database operating platform and odbc to connect and visit the database. the overall task of this system developed is

4、 to put different information systemazations ,standardzation ,automazation into reality .the basic demand includes enter commodity ,sell commodity and store commodity .the management of user name and passwords input ,the basic information of input and modification ,the management of stocking informa

5、tion . keywords: business information management, database, sqlsever2000, visual basic 目目 錄錄 第一章 緒論.6 1.1 研究背景.6 1.1.1 管理信息系統(tǒng)的發(fā)展歷史.6 1.1.2 國內(nèi)管理信息系統(tǒng)發(fā)展現(xiàn)狀.7 1.2 開發(fā)工具簡介.7 1.2.1 visual basic 簡介.7 1.2.2 ado 數(shù)據(jù)庫訪問技術(shù).7 1.2.3 sql server 2000.9 1.3 可行性研究.9 1.3.1 技術(shù)可行性.9 1.3.2 經(jīng)濟(jì)可行性.10 第二章 系統(tǒng)的需求分析.11 2.1 需求分析的

6、目標(biāo).11 2.2 需求分析的原則.11 2.3 需求分析的一般步驟.11 2.4 系統(tǒng)業(yè)務(wù)流程分析.12 2.4.1 業(yè)務(wù)流程圖使用的基本符號.12 2.4.2 進(jìn)銷存管理業(yè)務(wù)流程圖.13 2.5 系統(tǒng)數(shù)據(jù)流圖分析.13 2.5.1 數(shù)據(jù)流程圖圖形符號.13 2.6 系統(tǒng)功能的提出.14 2.7 數(shù)據(jù)字典.14 第三章 數(shù)據(jù)庫設(shè)計.16 3.1 數(shù)據(jù)庫設(shè)計概述.16 3.1.1 數(shù)據(jù)庫設(shè)計的一般性原則.16 3.1.2 數(shù)據(jù)庫設(shè)計的步驟.16 3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計.17 3.2.1 概念模型.17 3.2.2 e-r 圖.17 3.2.3 系統(tǒng) e-r 圖設(shè)計.18 3.3 數(shù)據(jù)庫與邏

7、輯結(jié)構(gòu)設(shè)計.18 3.4 數(shù)據(jù)表結(jié)構(gòu)清單.18 3.4.1 product 數(shù)據(jù)表結(jié)構(gòu).19 3.4.2supplier 數(shù)據(jù)表結(jié)構(gòu).19 3.4.3 customer 數(shù)據(jù)表結(jié)構(gòu).20 3.4.4 users 數(shù)據(jù)表結(jié)構(gòu).20 3.4.5 purchase 數(shù)據(jù)表結(jié)構(gòu).21 3.4.6 sale 數(shù)據(jù)表結(jié)構(gòu) .21 3.5 各數(shù)據(jù)表的關(guān)系.22 第四章 系統(tǒng)詳細(xì)設(shè)計.23 4.1 系統(tǒng)功能設(shè)計.23 4.2 系統(tǒng)的實現(xiàn).26 4.3 創(chuàng)建系統(tǒng)窗口.27 4.3.1 創(chuàng)建登陸窗口.27 4.3.2 創(chuàng)建系統(tǒng)主窗口.29 4.3.3 創(chuàng)建菜單欄.30 4.3.4 創(chuàng)建工具欄.30 4.3.5 創(chuàng)

8、建狀態(tài)欄.31 4.3.7 創(chuàng)建銷售單.36 4.3.9 創(chuàng)建產(chǎn)品管理窗口.39 4.3.10 創(chuàng)建庫存查詢窗口.42 4.3.11 創(chuàng)建采購查詢窗口.44 4.3.12 創(chuàng)建銷售查詢窗口.46 4.3.13 創(chuàng)建供應(yīng)商管理窗口.47 4.3.14 創(chuàng)建客戶管理窗口.50 4.3.15 創(chuàng)建密碼設(shè)置窗口.52 4.3.16 創(chuàng)建關(guān)于窗口.55 4.3.17 實現(xiàn)退出功能.56 4.4 系統(tǒng)的改進(jìn)與擴(kuò)展.57 第五章 結(jié)束語.58 5.1 課題工作總結(jié).58 5.2 本系統(tǒng)在今后要完善的工作.58 5.3 心得體會.58 參考文獻(xiàn):.60 第一章第一章 緒論緒論 1.1 研究背景研究背景 1.1

9、.1 管理信息系統(tǒng)的發(fā)展歷史管理信息系統(tǒng)的發(fā)展歷史 管理信息系統(tǒng)的概念起源很早。早在 20 實際 30 年代,柏德就強(qiáng)調(diào)了決策 在組織中的作用。50 年代,西蒙提出了依賴信息和決策的管理概念、維納發(fā)表 了控制論和管理的論述,以及與此同時計算機(jī)技術(shù)的飛速發(fā)展,為管理信息系 統(tǒng)的出現(xiàn)奠定了理論和技術(shù)基礎(chǔ)。 管理信息系統(tǒng)的應(yīng)用、發(fā)展是與計算機(jī)技術(shù)、通信技術(shù)和管理技術(shù)的應(yīng)用、 發(fā)展緊密相關(guān)的。特別是隨著計算機(jī)技術(shù)、信息技術(shù)的飛速發(fā)展,管理信息系 統(tǒng)也得到了飛躍。其發(fā)展過程大致分為如下 3 個階段: (1)電子數(shù)據(jù)處理系統(tǒng)(electronic date processing system,edps)

10、電子數(shù)據(jù)處理系統(tǒng)是數(shù)據(jù)處理的計算機(jī)化。通過計算機(jī)的高速運(yùn)算和處理 提高數(shù)據(jù)處理效率。這是管理信息系統(tǒng)的雛形。 (2)管理信息系統(tǒng)(management information system,mis) 計算機(jī)技術(shù)、數(shù)據(jù)庫技術(shù)、網(wǎng)絡(luò)通信技術(shù)與現(xiàn)代化管理技術(shù)相結(jié)合,產(chǎn)生 了管理信息系統(tǒng),20 世紀(jì) 70 年代以來管理信息系統(tǒng)逐漸發(fā)展、成熟起來,表 現(xiàn)出高度集中、定量化科學(xué)管理兩大特點。 (3)決策支持系統(tǒng)(decision support systems,dss) 早期的 mis 只能提供大量的報告,其中真正對用戶有用的信息很少。決策 支持系統(tǒng),即通過人及交互的方式幫助決策者找到可能的答案,為管理者

11、決策 提供必要的信息。 隨著計算機(jī)技術(shù)、信息處理技術(shù)、管理技術(shù)的更新和發(fā)展,以及 mis 和 dss 自身的理論發(fā)展,mis 和 dss 又有了新的變化??傊?,隨著技術(shù)發(fā)展和理論 的更新,管理信息系統(tǒng)在未來將會有更大的進(jìn)步和發(fā)展。 1.1.2 國內(nèi)管理信息系統(tǒng)發(fā)展現(xiàn)狀國內(nèi)管理信息系統(tǒng)發(fā)展現(xiàn)狀 企業(yè)是國民經(jīng)濟(jì)的基本單元,企業(yè)信息系統(tǒng)建設(shè)是我國企業(yè)走向現(xiàn)代化的必由之路。 我國目前共有各類企業(yè) 800 萬家,這些企業(yè)在近 20 年來,在不同程度上都遇到了企業(yè)信息 系統(tǒng)的建設(shè)問題。80 年代以來,國家有關(guān)部門就一直非常重視企業(yè)信息化的推進(jìn)。國家有 關(guān)部門曾重點扶持過一批國有大企業(yè)的信息化工程,并以他們

12、為樣板在全國制造業(yè)企業(yè)中 推廣過 cims。90 年代后,隨著微型計算機(jī)、互聯(lián)網(wǎng)等的迅速普及,計算機(jī)技術(shù)對企業(yè)的 影響越來越大,企業(yè)信息化進(jìn)一步為人們所重視。1995 年以后,我國企業(yè)信息化走向了以 mis 為主的道路,許多的人事信息管理系統(tǒng)被廣大的企業(yè)所采用。在每一個大型的企業(yè)中 都有自己的人事信息管理系統(tǒng)。因為隨著企業(yè)員工的不斷增長,信息管理的復(fù)雜度也在明 顯的增加,一些調(diào)查說明,在很多的企業(yè)在使用管理信息系統(tǒng)軟件后,人事管理工作變得 比較簡單,只要對相應(yīng)的管理人員進(jìn)行一些簡單的培訓(xùn)都能實現(xiàn)這種操作。 1.2 開發(fā)工具簡介開發(fā)工具簡介 1.2.1 visual basic 簡介簡介 vis

13、ual basic 是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的高級語言 程序設(shè)計工具,可用于開發(fā) windows 環(huán)境下的各類應(yīng)用程序。它簡單易學(xué)、效 率高,且功能強(qiáng)大。在 visual basic 環(huán)境下,利用事件驅(qū)動的編程機(jī)制、新穎 易學(xué)的可視化設(shè)計工具,使用 windows 內(nèi)部的應(yīng)用程序接口(api)函數(shù),以及 動態(tài)鏈接庫(dll) 、動態(tài)數(shù)據(jù)交換(dde) 、對象的鏈接與嵌入(ole) 、開發(fā)式 數(shù)據(jù)訪問(odbc)等技術(shù),可以高效、快速地開發(fā) windows 環(huán)境下功能強(qiáng)大、 圖形界面豐富的應(yīng)用軟件系統(tǒng)。 1.2.2 ado 數(shù)據(jù)庫訪問技術(shù)數(shù)據(jù)庫訪問技術(shù) visual basic

14、 使用的數(shù)據(jù)訪問技術(shù)的示意圖如下圖所示。 數(shù)據(jù) active.exe.dll 數(shù) 據(jù) 源 窗體 dhtml 報表 編碼 數(shù)據(jù)訪問 ado、rdo、dao 中間層 遠(yuǎn)端 microsoft 可視化 數(shù)據(jù)工具 microsoft transaction server dcom 遠(yuǎn)端 add數(shù)據(jù)集 遠(yuǎn)端udts 數(shù)據(jù)綁定 類模塊 用戶控件 數(shù)據(jù)環(huán)境 ado recodsert對象 ado data控件 圖 1.1 數(shù)據(jù)庫訪問示意圖。 ado 數(shù)據(jù)模型提供執(zhí)行以下操作的方法: (1)連接到數(shù)據(jù)源; (2)指定訪問數(shù)據(jù)源的命令,同時可帶變量參數(shù)或優(yōu)化執(zhí)行。通常涉及 ado 的 command 對象; (

15、3)執(zhí)行命令,例如一個 select 腳本; (4)如果這個命令使數(shù)據(jù)按表中行的形式返回(例如 select 命令),則將 這些行存儲在易于檢查、操作或更改的緩存中; (5)適當(dāng)情況下,可以把行的更改內(nèi)容寫在數(shù)據(jù)庫中,更新數(shù)據(jù)源; (6)提供常規(guī)方法檢測錯誤(錯誤通常由建立連接或執(zhí)行命令造成) ,涉 及 ado 的 error 對象。 ado 編程模型由以下 8 個對象組成:連接對象,命令對象,參數(shù)對象,記 錄集對象,字段對象,錯誤對象,屬性對象和集合對象。 ado 提供“集合” ,這是一種可方便地包含其他特殊類型對象的對象類型。 使用集合方法可按名稱(文本字符串)或序號(整形數(shù))對集合中的對

16、象進(jìn)行 檢索。他主要提供 4 種類型的集合; (1)connection 對象具有 error 集合,包含為響應(yīng)與數(shù)據(jù)源有關(guān)的單一 錯誤而創(chuàng)建的所有 errors 對象; (2)command 對象具有 parameters 集合,包含應(yīng)用于 command 對象的所 有 parameter 對象; (3)record set 對象具有 fields 集合,包含所有定義 record set 對象 系列的 field 對象; (4)此外,connection、command、record set 和 field 對象都具有 properties 集合。它包含所有屬于各個包含對象的 proper

17、ty 對象。 1.2.3 sql server 2000 sql server 2000 系統(tǒng)是一個先進(jìn)的面向新世紀(jì)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng), 它引入了大量先進(jìn)的數(shù)據(jù)庫技術(shù),代表了未來數(shù)據(jù)庫技術(shù)的發(fā)展趨勢,可以為 各種用戶提供完整的數(shù)據(jù)庫應(yīng)用解決方案。除了其關(guān)系型系統(tǒng)的內(nèi)核之外,它 的分布式查詢處理、強(qiáng)大的觸發(fā)器功能、方便的數(shù)據(jù)發(fā)布等特點,使它充滿著 未來數(shù)據(jù)庫技術(shù)的氣息。 sql server 2000 的特點如下: (1) 、易用性,它擁有微軟產(chǎn)品的一貫特性,簡單易用。 (2) 、可伸縮性,它使用的是動態(tài)數(shù)據(jù)庫,當(dāng)用戶的數(shù)據(jù)超過原先申請的 大小時,數(shù)據(jù)庫文件可自動擴(kuò)大,直到占滿整個磁盤空間。

18、 (3) 、集成性,它已經(jīng)與 windows 2000 以上的操作系統(tǒng)緊密結(jié)合,能夠提 供更加有效的安全性。 1.3 可行性研究可行性研究 1.3.1 技術(shù)可行性技術(shù)可行性 本系統(tǒng)所采用的軟硬件平臺具體要求如下: 硬件:處理器:英特爾 賽揚(yáng) d325 主板:雙敏 up4pen pro。 顯卡、聲卡:盈通 cf4mx4000,內(nèi)存:256 mb ddr333 硬盤:st40g/7200, 鼠標(biāo)、鍵盤:三聯(lián)光電套, 顯示器:三星 788df 軟件:microsoft sql server 2000,microsoft visual basic 6.0 microsoft windows 2000

19、professional,采用 visual basic 作為 開發(fā)工具。 在現(xiàn)有的技術(shù)條件下,軟件開發(fā)人員能夠熟練地使用上述開發(fā)工具進(jìn)行系 統(tǒng)的研究與設(shè)計,并使之投入使用。技術(shù)上完全可行。 1.3.2 經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性 系統(tǒng)未運(yùn)行之前,初期投資比較大,花費相對而言比較多。各部門必須配 置電腦、服務(wù)器、打印機(jī)、傳真機(jī)及相關(guān)網(wǎng)絡(luò)設(shè)備,但是在整個系統(tǒng)投入運(yùn)行 之后,因為現(xiàn)在計算機(jī)已經(jīng)普及了,相關(guān)人員培訓(xùn)費可以減少很多,而同時又 減少了數(shù)據(jù)的流通環(huán)節(jié),提高了工作效率,保證了各項數(shù)據(jù)的準(zhǔn)確性,避免了 工作人員的流動造成的收據(jù)丟失等問題。因此,從長遠(yuǎn)的收益來看,經(jīng)濟(jì)上完 全可行。 基于以上分析,系統(tǒng)

20、實現(xiàn)是可行的。 第二章第二章 系統(tǒng)的需求分析系統(tǒng)的需求分析 2.1 需求分析的目標(biāo)需求分析的目標(biāo) 需求分析的目標(biāo):按照系統(tǒng)規(guī)劃原則在業(yè)務(wù)系統(tǒng)項目范圍內(nèi),具體明確系 統(tǒng)開發(fā)的目標(biāo)和用戶的信息要求。通過對現(xiàn)行系統(tǒng)的管理水平、原始數(shù)據(jù)的精 確程度、規(guī)章制度是否齊全和切實可行、各級領(lǐng)導(dǎo)對開發(fā)新的管理系統(tǒng)是否有 比較清楚地認(rèn)識和積極的態(tài)度、部門級別中是否能夠抽調(diào)出比較精通本行業(yè)管 理業(yè)務(wù)并且對本單位存在問題有深刻理解的相關(guān)人員等內(nèi)容的詳細(xì)調(diào)查,從而 獲得軟件開發(fā)的基礎(chǔ),確定總體設(shè)計的限制條件,確認(rèn)軟件測試的具體要求, 定義詳細(xì)的功能模塊,以求達(dá)到協(xié)助系統(tǒng)開發(fā)的根本目的。 2.2 需求分析的原則需求分析的

21、原則 需求分析的基本原則是: (1)需要能夠表達(dá)和理解問題的信息域和功能域; (2)要能以層次化的方式對問題進(jìn)行分解和不斷細(xì)化; (3)要給出系統(tǒng)的邏輯視圖和物理視圖。 2.3 需求分析的一般步驟需求分析的一般步驟 需求分析分為問題分析,需求描述,需求評審等幾個步驟。 首先進(jìn)行問題分析。在該階段,分析人員通過對問題以及環(huán)境的理解、分 析和綜合,清除用戶需求的模糊性、歧義性和不一致性,并在用戶的幫助下對 互相沖突的要求進(jìn)行折中,并為原始問題及其軟件解建立模型。它是形成需求 規(guī)格說明、進(jìn)行軟件設(shè)計與實現(xiàn)的主要基礎(chǔ),例如面向數(shù)據(jù)流的分析方法、面 向?qū)ο蟮姆治龇椒ㄒ约懊嫦驍?shù)據(jù)的分析方法都屬于需求建模方

22、法。接著進(jìn)入需 求描述階段,以需求模型為基礎(chǔ),考慮到問題的軟件可解性,生成規(guī)格說明和 初步的用戶手冊。 總結(jié)需求分析的步驟為: (1)通過對現(xiàn)實化境的調(diào)查研究,獲得當(dāng)前系統(tǒng)的具體模型; (2)去掉具體模型中的非本質(zhì)因素,抽象出當(dāng)前系統(tǒng)的邏輯模型; (3)分析當(dāng)前系統(tǒng)與目標(biāo)系統(tǒng)的差別、建立了目標(biāo)的邏輯模型; (4)對目標(biāo)進(jìn)行完善和補(bǔ)充,并寫出完整的需求說明; (5)對需求說明進(jìn)行復(fù)審,直到確認(rèn)文檔齊全,并且符合用戶的全部需求為止。 在本系統(tǒng)中需求分析的基本上步驟也是按照以上三個階段進(jìn)行的。在任何 的需求分析的一般步驟都必須遵守以上的步驟。 2.4 系統(tǒng)業(yè)務(wù)流程分析系統(tǒng)業(yè)務(wù)流程分析 2.4.1 業(yè)

23、務(wù)流程圖使用的基本符號業(yè)務(wù)流程圖使用的基本符號 業(yè)務(wù)流程圖的符號如下圖所示。 (1)業(yè)務(wù)處理的部門或單位。它表達(dá)了某項業(yè)務(wù)參與的人或物。 (2)數(shù)據(jù)存儲或文檔,也是一種數(shù)據(jù)的載體,但這個數(shù)據(jù)是作為檔案來保存的。 (3)業(yè)務(wù)數(shù)據(jù)流動及方向,它表達(dá)了業(yè)務(wù)數(shù)據(jù)的流動方向,這個方向用雙箭頭 表示。 (4)各類文檔、數(shù)據(jù),它表明了數(shù)據(jù)的載體。 (5)業(yè)務(wù)功能描述,表明了業(yè)務(wù)處理功能,一般用一個簡單的祈使句表示。 業(yè)務(wù)處理單位 存檔 業(yè)務(wù)數(shù)據(jù)流動 文檔、數(shù)據(jù) 業(yè)務(wù)功能描述 或部門 及方向 圖 2.1 業(yè)務(wù)流程圖使用的符號 2.4.2 進(jìn)銷存管理業(yè)務(wù)流程圖進(jìn)銷存管理業(yè)務(wù)流程圖 開始 數(shù)據(jù)期初設(shè)置 及預(yù)警設(shè)置

24、 訂貨單 銷售開單 入庫登記 入庫 紅沖 進(jìn)貨 退貨 銷售 紅沖 銷售 退貨 應(yīng)付款應(yīng)收款 營業(yè)日 終結(jié)算 終合查詢 結(jié)束 進(jìn)銷存信息系統(tǒng)流程圖 2.5 系統(tǒng)數(shù)據(jù)流圖分析系統(tǒng)數(shù)據(jù)流圖分析 2.5.1 數(shù)據(jù)流程圖圖形符號數(shù)據(jù)流程圖圖形符號 在數(shù)據(jù)流程圖所涉及到的一個主要符號用以下的圖來表示。數(shù)據(jù)來源和數(shù) 據(jù)輸出都可以用圓形表示。在本系統(tǒng)中主要是用的圓形。 p0 數(shù)據(jù)處理 數(shù)據(jù)存儲s1 e1數(shù)據(jù)來源 f1輸入數(shù)據(jù)流 e2數(shù)據(jù)輸出 f2輸出數(shù)據(jù)流 圖 2.6 數(shù)據(jù)流圖相關(guān)符號表示 2.6 系統(tǒng)功能的提出系統(tǒng)功能的提出 根據(jù)詳細(xì)的需求分析,明確系統(tǒng)的功能如下: (1)員工基本信息管理:主要完成職工基本

25、信息的管理,如員工基本信息的添 加、修改、刪除和查詢; (2)員工考勤信息的管理:主要完成職工考勤信息的管理。管理員工基本信息 的考勤添加、修改、刪除和考勤信息的查詢; (3)員工評價信息管理:主要完成員工評價信息的管理,管理員工基本工作信 息的添加好、修改和查詢; (4)員工工資信息管理:主要完成員工工資信息的管理,主要是進(jìn)行員工工資 信息的添加、修改、刪除和查詢; (5)數(shù)據(jù)庫管理部分:主要完成數(shù)據(jù)庫的管理與維護(hù); (6)系統(tǒng)管理部分:主要是完成用戶的添加、密碼信息的修改等。 2.7 數(shù)據(jù)字典數(shù)據(jù)字典 數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析后 所獲得的主要成果。 數(shù)

26、據(jù)字典通常包括一下 5 個部分: (1)數(shù)據(jù)項。數(shù)據(jù)項是不可再分的數(shù)據(jù)單位。 (2)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個數(shù)據(jù)結(jié)構(gòu)可以 由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或由若干個數(shù)據(jù)項和數(shù) 據(jù)結(jié)構(gòu)混合組成。 (3)數(shù)據(jù)流。數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)你傳輸?shù)穆窂健?(4)數(shù)據(jù)存儲。數(shù)據(jù)存儲是數(shù)據(jù)及其結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流 的來源和去向之一。 (5)處理過程。處理過程的具體處理邏輯一般用判定表或判定樹來描述。 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即對元數(shù)據(jù)的描述。數(shù)據(jù)字典是在 需求分析階段建立,在數(shù)據(jù)庫設(shè)計過程中不斷修改、充實和完善的。 第三章第三章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫

27、設(shè)計 3.1 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述 數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建設(shè)中 的核心技術(shù),具體說,數(shù)據(jù)庫設(shè)計是指對于一個非定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的 數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效的存儲數(shù)據(jù),滿足各種 用戶的應(yīng)用需求。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù) 的完整和一致性。另外,合理的數(shù)據(jù)庫結(jié)構(gòu)將非常有利于程序的實現(xiàn)。 3.1.1 數(shù)據(jù)庫設(shè)計的一般性原則數(shù)據(jù)庫設(shè)計的一般性原則 數(shù)據(jù)庫設(shè)計的一般性原則如下所示: 第一個基本原則:對于每一個要存儲其信息的實體(或事物) ,我們都應(yīng) 該給他一個自己的表; 第二個處理規(guī)則:如果需要在一個列里

28、存儲多個值,那證明你的設(shè)想是有 缺陷的。 簡單的數(shù)據(jù)關(guān)系:一對一;一對多;多對一;多對多。 在數(shù)據(jù)庫的設(shè)計中,要做到數(shù)據(jù)規(guī)范化、完整性、數(shù)據(jù)冗余和規(guī)范實例化。 3.1.2 數(shù)據(jù)庫設(shè)計的步驟數(shù)據(jù)庫設(shè)計的步驟 數(shù)據(jù)庫設(shè)計分五個階段: (1)規(guī)劃; (2)需求分析; (3)概念結(jié)構(gòu)設(shè)計; (4)邏輯結(jié)構(gòu)設(shè)計; 數(shù)據(jù)庫物理設(shè)計。 3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 數(shù)據(jù)庫概念設(shè)計的目標(biāo)就是要產(chǎn)生反映企業(yè)組織信息需求的數(shù)據(jù)庫概念結(jié)構(gòu),即概念 模型。 3.2.1 概念模型概念模型 概念模型是獨立于數(shù)據(jù)庫邏輯結(jié)構(gòu),獨立與支持?jǐn)?shù)據(jù)庫的 dbms,不依賴于 計算機(jī)系統(tǒng)的。概念模型是表達(dá)概念設(shè)計結(jié)果的工

29、具。它應(yīng)該能夠真實、充分 的反映現(xiàn)實世界中事物和事物直接的聯(lián)系;應(yīng)該簡潔、明晰、獨立于機(jī)器,容 易理解,方便數(shù)據(jù)庫設(shè)計人員和應(yīng)用人員進(jìn)行交流;應(yīng)該易于變動,便于修改; 應(yīng)該很容易向關(guān)系、層次或網(wǎng)狀等各種數(shù)據(jù)模型轉(zhuǎn)變,方便的導(dǎo)出與 dbms 有關(guān) 的邏輯模型。從而使概念模型成為現(xiàn)實世界到機(jī)器世界的一個過度的中間層次。 概念模型有很多模型,其中最常用的方法之一是“實體聯(lián)系模型” (entity relationship model),即使用 e-r 圖來描述某一組織的概念模型。 3.2.2 e-r 圖圖 e-r 模型是指直接從現(xiàn)實世界中抽象出實體類型及實體間聯(lián)系,是一種描 述靜態(tài)數(shù)據(jù)結(jié)構(gòu)的概念模型

30、。它的主要成分是實體、聯(lián)系和屬性??衫?e-r 模型進(jìn)行數(shù)據(jù)庫概念設(shè)計。e-r 圖是直觀表示概念模型的工具,在圖中有四個 基本成分如圖: 1、矩形框:表示實體類型(考慮問題的對象) ; 2、菱形框:表示聯(lián)系類型(實體間的聯(lián)系) ; 3、橢圓形框:表示實體類型和聯(lián)系類型的屬性; 4、直線:聯(lián)系類型與涉及的實體類型之間以直線連接,并在直線上標(biāo)上 聯(lián)系的種類(1:1,1:n,m:n) 。 具體圖示如下: 實體聯(lián)系屬性 3.2.3 系統(tǒng)系統(tǒng) e-r 圖設(shè)計圖設(shè)計 商品客戶 供貨商 進(jìn)貨 銷售 條碼 貨號拼音編碼 拼音編碼 供貨商號 名稱 名稱拼音編號 客戶編號 pq n m 3.3 數(shù)據(jù)庫與邏輯結(jié)構(gòu)

31、設(shè)計數(shù)據(jù)庫與邏輯結(jié)構(gòu)設(shè)計 邏輯結(jié)構(gòu)設(shè)計設(shè)計的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計完畢的基本 e-r 圖 轉(zhuǎn)化為與選用的具體機(jī)器上的 dbms 產(chǎn)品所支持的數(shù)據(jù)模型相符的邏輯結(jié)構(gòu) (包括數(shù)據(jù)庫模式和外模式) 。這些模式在功能性、完整性和一致性約束及數(shù)據(jù) 庫的可擴(kuò)充性等方面應(yīng)滿足用戶的各種需求。 e-r 圖型關(guān)系模型的轉(zhuǎn)化要解決的問題是如何將實體和實體間的關(guān)系轉(zhuǎn)化 為關(guān)系模式,如何確定這些關(guān)系模式的屬性和代碼。 3.4 數(shù)據(jù)表結(jié)構(gòu)清單數(shù)據(jù)表結(jié)構(gòu)清單 在這個系統(tǒng)中,設(shè)計了一個名為 purchaseandsale 的數(shù)據(jù)庫。根據(jù)系統(tǒng)功 能的需要,在其中總共設(shè)計了 6 個數(shù)據(jù)表,分別如下: product 表

32、用于存儲產(chǎn)品的基本信息以及相關(guān)的庫存數(shù)量; supplier 表 用于存儲供應(yīng)商的基本信息; customer 表 用于存儲客戶的基本信息; users 表 用于存儲系統(tǒng)用戶的基本信息; purchase 表 用于存儲采購記錄的基本信息; sale 表 用于存儲銷售記錄的基本信息。 3.4.1 product 數(shù)據(jù)表結(jié)構(gòu)數(shù)據(jù)表結(jié)構(gòu) product 數(shù)據(jù)表主要用于存儲企業(yè)的產(chǎn)品或原料信息,比如物品的名稱、 產(chǎn)地、 、規(guī)格、單位等。另外,根據(jù)銷售記錄和采購記錄計算得出的每種商品的 庫存數(shù)量也存放在 product 數(shù)據(jù)表的庫存字段中。 product 數(shù)據(jù)表的結(jié)構(gòu)如下表所示。 product 數(shù)據(jù)

33、表結(jié)構(gòu) 字段名數(shù)據(jù)類型長度是否允許為空說明 商品名稱 nvarchar255 否主鍵,唯一標(biāo)識產(chǎn)品記錄 產(chǎn)地 nvarchar40 是 規(guī)格 nvarchar50 是 包裝 nvarchar50 是 單位 nchar19 是 庫存 int4 是產(chǎn)品的庫存量,系統(tǒng)計算得出,默認(rèn)為 0 3.4.2supplier 數(shù)據(jù)表結(jié)構(gòu)數(shù)據(jù)表結(jié)構(gòu) supplier 數(shù)據(jù)表主要用于存儲企業(yè)的供應(yīng)商信息,比如供應(yīng)商的編號、供 應(yīng)商的名稱、供應(yīng)商的聯(lián)系地址、聯(lián)系方式、開戶銀行和銀行賬號等。 supplier 數(shù)據(jù)表的結(jié)構(gòu)如下表所示。 supplier 數(shù)據(jù)表結(jié)構(gòu) 字段名數(shù)據(jù)類型長度是否允許為空說明 供應(yīng)商簡稱 nv

34、archar10 否主鍵,唯一標(biāo)識供應(yīng)商記錄 供應(yīng)商全稱 nvarchar100 是供應(yīng)商單位全稱 地址 nvarchar100 是 郵政編碼 nchar6 是 電話 numeric9 是 傳真 numeric9 是 聯(lián)系人 nvarchar30 是 聯(lián)系人電話 numeric9 是 開戶銀行 nvarchar10 是 銀行賬號 numeric13 是 企業(yè)網(wǎng)址 nvarchar50 是 3.4.3 customer 數(shù)據(jù)表結(jié)構(gòu)數(shù)據(jù)表結(jié)構(gòu) customer 數(shù)據(jù)表主要用于存儲企業(yè)的客戶信息,比如客戶編號、客戶的名 稱、客戶的地址、聯(lián)系方式、開戶銀行和銀行賬號等。 customer 數(shù)據(jù)表的結(jié)構(gòu)

35、如下表所示: customer 數(shù)據(jù)表結(jié)構(gòu) 字段名數(shù)據(jù)類型長度是否允許為空說明 客戶簡稱 nvarcher10 否主鍵,唯一標(biāo)識客戶記錄 客戶全稱 nvarcher100 是客戶單位全稱 地址 nvarcher100 是 郵政編碼 nchar6 是 電話 numeric9 是 傳真 numeric9 是 聯(lián)系人 nvarcher30 是 聯(lián)系人電話 nvarcher9 是 開戶銀行 nvarcher100 是 銀行賬號 numeric13 是 企業(yè)網(wǎng)址 nvarcher50 是 3.4.4 users 數(shù)據(jù)表結(jié)構(gòu)數(shù)據(jù)表結(jié)構(gòu) users 數(shù)據(jù)表主要用于存儲本系統(tǒng)的用戶信息,包括用戶的名稱和系統(tǒng)登

36、 陸密碼。 users 數(shù)據(jù)表的結(jié)構(gòu)如下圖所示: 字段名數(shù)據(jù)類型長度是否允許為空說明 用戶 nvarchar10 否主鍵,唯一標(biāo)識系統(tǒng)用戶 密碼 nvarchar10 是用戶密碼,可以為空 3.4.5 purchase 數(shù)據(jù)表結(jié)構(gòu)數(shù)據(jù)表結(jié)構(gòu) purchase 數(shù)據(jù)表主要用于存儲企業(yè)的采購信息,比如采購商品的名稱、價 格、供應(yīng)商編號、采購數(shù)量、采購日期、經(jīng)手人等。 purchase 數(shù)據(jù)表的結(jié)構(gòu)如下表所示。 purchase 數(shù)據(jù)表結(jié)構(gòu) 字段名數(shù)據(jù)類型長度是否允許為空說明 商品名稱 nvarcher255 否外鍵,對應(yīng) product 表中商品說 明 數(shù)量 int4 否每筆采購記錄必須有采購數(shù)量

37、 進(jìn)價 money8 否每筆采購記錄必須有采購進(jìn)價 金額 money8 是由數(shù)量和進(jìn)價計算得出 備注 nvarcher220 是 供應(yīng)商 nvarcher10 否外鍵,對應(yīng) supplier 表 日期 smalldatetime4 否每筆采購記錄必須有采購時間 經(jīng)手人 nvarcher10 否外鍵,對應(yīng) user 表 票號 nvarcher50 否每筆采購記錄必須有唯一的票號 3.4.6 sale 數(shù)據(jù)表結(jié)構(gòu)數(shù)據(jù)表結(jié)構(gòu) sale 數(shù)據(jù)表主要用于存儲企業(yè)的銷售信息,比如銷售商品的名稱、價格、 客戶編號、銷售數(shù)量、銷售日期、經(jīng)手人等。 sale 數(shù)據(jù)表的結(jié)構(gòu)如下表所示: sale 數(shù)據(jù)表結(jié)構(gòu) 字段

38、名數(shù)據(jù)類型長度是否允許為空說明 商品名稱 nvarcher255 否外鍵,對應(yīng) product 表 數(shù)量 int4 否每筆采購記錄必須有采購數(shù)量 單價 money8 否每筆采購記錄必須有采購進(jìn)價 金額 money8 是由數(shù)量和進(jìn)價計算得出 備注 nvarcher220 是 客戶 nvarcher10 否外鍵,對應(yīng) customer 表 日期 smalldatetime4 否每筆采購必須有采購時間 經(jīng)手人 nvarcher10 否外鍵,對應(yīng) user 表 票號 nvarcher50 否每筆采購記錄必須有唯一的票號 3.5 各數(shù)據(jù)表的關(guān)系各數(shù)據(jù)表的關(guān)系 實際進(jìn)銷存業(yè)務(wù)中的一些數(shù)據(jù)是在多個業(yè)務(wù)活動中

39、共享的,比如采購單中 的商品必須在 product 數(shù)據(jù)表中有相關(guān)記錄,所以在本案例中也對上述的 6 個 數(shù)據(jù)表設(shè)置了對應(yīng)關(guān)系。 具體關(guān)系主要表現(xiàn)在一下幾個方面: 采購單,銷售單中的經(jīng)手人必須是企業(yè)中的合法員工,本案例中要求經(jīng) 手人必須是在 users 數(shù)據(jù)表中有相應(yīng)的記錄; 采購單、銷售單中的產(chǎn)品必須在 product 數(shù)據(jù)表中有相關(guān)記錄。如果采 購一種新商品,必須先在 product 數(shù)據(jù)表中增加這種商品的信息; 采購單中的供應(yīng)商必須是 supplier 數(shù)據(jù)表中有相應(yīng)的記錄。如果采購中 發(fā)展了新的供應(yīng)商,必須先在 supplier 數(shù)據(jù)表中增加這家供應(yīng)商的信息。 銷售單中的客戶必須是 c

40、ustomer 數(shù)據(jù)表中的有相關(guān)記錄。如果銷售中發(fā) 現(xiàn)新的客戶,必須先在 customer 數(shù)據(jù)表中增加這家客戶的信息。 第四章第四章 系統(tǒng)詳細(xì)設(shè)計系統(tǒng)詳細(xì)設(shè)計 4.1 系統(tǒng)功能設(shè)計系統(tǒng)功能設(shè)計 進(jìn)銷存管理系統(tǒng)充分發(fā)揮信息技術(shù)的優(yōu)勢,通過集中式的信息數(shù)據(jù)庫,將 企業(yè)的進(jìn)、銷、存等經(jīng)營業(yè)務(wù)有機(jī)地結(jié)合起來,達(dá)到數(shù)據(jù)共享、降低成本、提 高效率、改進(jìn)服務(wù)的目的,進(jìn)而提供企業(yè)的生產(chǎn)效率和管理水平。 根據(jù)需求分析,設(shè)計的進(jìn)銷存管理系統(tǒng)的模塊組織結(jié)構(gòu)如圖所示。 進(jìn)銷存管理系統(tǒng) 日常業(yè)務(wù)庫存管理統(tǒng)計查詢基礎(chǔ)信息系統(tǒng)設(shè)置退出系統(tǒng) 采 購 單 銷 售 單 庫 存 盤 點 產(chǎn) 品 管 理 庫 存 查 詢 采 購 查

41、 詢 銷 售 查 詢 供 應(yīng) 商 管 理 客 戶 管 理 密 碼 設(shè) 置 關(guān) 于 系 統(tǒng) 圖4-12 進(jìn)銷存管理系統(tǒng)模塊組織結(jié)構(gòu)圖 下面對各個模塊的設(shè)計功能進(jìn)行說明。 采購單:日常業(yè)務(wù)中需要頻繁使用的功能,主要是對每筆采購入庫業(yè)務(wù) 進(jìn)行記錄,自動生成對應(yīng)的采購憑證。采購單中的商品名稱、供應(yīng)商和經(jīng)手人 字段分別對應(yīng) product 數(shù)據(jù)表、supplier 數(shù)據(jù)表和 users 數(shù)據(jù)表中的相關(guān)字段, 所以這里需要檢驗用戶輸入的合法性。為了管理的方便和規(guī)范,每筆采購單對 應(yīng)一個唯一采購單票號,某時刻運(yùn)行的界面如圖所示。 銷售單:日常業(yè)務(wù)中需要頻繁使用的功能,主要是對每筆銷售出庫業(yè)務(wù)進(jìn) 行記錄,自動

42、生成對應(yīng)的銷售憑證。銷售單中的商品名稱、客戶和經(jīng)手人字段 分別對應(yīng) product 數(shù)據(jù)表、customer 數(shù)據(jù)表和 users 數(shù)據(jù)表中的相關(guān)字段,所 以這里需要檢驗用戶輸入的合法性。為了管理的方便和規(guī)范,每筆銷售單對應(yīng) 一個惟一的銷售單票號。 庫存盤點:庫存管理中的重要業(yè)務(wù)活動,主要是根據(jù)采購記錄和銷售記 錄對庫存商品盤點,更新每種商品的庫存量,為制定采購計劃提供依據(jù)。 產(chǎn)品管理:庫存管理中的輔助業(yè)務(wù),主要是當(dāng)有產(chǎn)品或者商品按照多種 字段進(jìn)行模糊查詢的功能。庫存查詢的初始界面如圖所示。 采購查詢:統(tǒng)計查詢功能中的一個模塊,提供了對采購記錄的多種字段 的符合式查詢功能。 銷售查詢:統(tǒng)計查詢

43、功能中的一個模塊,提供了對銷售記錄的多種字段 的復(fù)合式查詢功能。 供應(yīng)商管理:基礎(chǔ)信息維護(hù)中的一個模塊,主要用于對供應(yīng)商信息進(jìn)行 查詢和維護(hù)。為了方便對多個供應(yīng)商的管理和比較,本案例中將此功能用 tab 的功能實現(xiàn),既方便對于供應(yīng)商信息的查看和編輯,又利于對供應(yīng)商總體的評 價和比較。某時刻運(yùn)行界面如圖所示。 客戶管理:基礎(chǔ)信息維護(hù)的一個模塊,主要用于對企業(yè)客戶信息的查詢 和維護(hù)。為了方便對多個客戶的管理和比較,本案例中也將此功能用 tab 頁的 形式實現(xiàn),既方便對單個客戶信息的查看和編輯,又利于對客戶總體的評價和 比較。 密碼設(shè)置:系統(tǒng)設(shè)置中的一個模塊,主要用于為系統(tǒng)中現(xiàn)有的用戶提供 密碼更改

44、功能。 關(guān)于系統(tǒng):系統(tǒng)設(shè)置中的一個模塊,主要用于說明系統(tǒng)的版本和版權(quán)等 信息。為了用戶使用本系統(tǒng)方便,該模塊中還提供了計算機(jī)系統(tǒng)信息的顯示功 能。 推出系統(tǒng):用于推出本系統(tǒng)。為了防止用戶的誤操作,推出系統(tǒng)之前需 要用戶確認(rèn)推出的操作。 整個系統(tǒng)運(yùn)行的流程圖大致如圖所示。 查詢 結(jié)果 工作人員 工作人員 工作人員工作人員 客戶供應(yīng)商 產(chǎn) 品 管 理 庫 存 盤 點 采 購 銷 售 業(yè) 務(wù) 查 詢 數(shù)據(jù)庫 采購單銷售單 圖4-15 系統(tǒng)流程圖 4.2 系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn) 本系統(tǒng)采用系統(tǒng)開發(fā)中常見的文檔結(jié)構(gòu),搭配菜單欄、工具欄、狀態(tài)欄等 界面工具實現(xiàn)系統(tǒng)分析和系統(tǒng)設(shè)計中提出的功能。 在具體的實現(xiàn)各

45、個功能模塊之前,需要在 visual basic 6.0 中創(chuàng)建一個工 程,以管理系統(tǒng)開發(fā)中的不同資源。創(chuàng)建工程的步驟如下: (1) 、打開 visual basic 6.0 開發(fā)環(huán)境,在菜單欄中依次選擇“文件” “創(chuàng)建工程”菜單,出現(xiàn)如下圖所示的“新建工程”對話框。 (2) 、在列表中選擇“標(biāo)準(zhǔn) exe”圖標(biāo)以指定新建應(yīng)用程序的類型為標(biāo)準(zhǔn) 的 windows 應(yīng)用程序,然后單擊“確定”按鈕,打開系統(tǒng)初始界面。 (3) 、在上圖所示的菜單欄中依次選擇“工程”“工程 1 屬性”菜單, 出現(xiàn)“工程 1工程屬性”對話框。 (4) 、在“工程名稱”文本框中將工程的名稱設(shè)置為“進(jìn)銷存管理系統(tǒng)” , 然后

46、單擊“確定”按鈕。 (5) 、單擊工具欄上的保存按鈕,保存該工程。 這樣,就成功的創(chuàng)建了進(jìn)銷存管理系統(tǒng)工程。 下面將介紹系統(tǒng)中各個窗口的設(shè)計和功能的實現(xiàn)。 4.3 創(chuàng)建系統(tǒng)窗口創(chuàng)建系統(tǒng)窗口 4.3.1 創(chuàng)建登陸窗口創(chuàng)建登陸窗口 在進(jìn)入應(yīng)用程序主界面之前,一般都需要登錄操作,以便確認(rèn)用戶身份, 從而保證企業(yè)數(shù)據(jù)的安全性。 在本系統(tǒng)的登錄中,要求用戶從系統(tǒng)已經(jīng)創(chuàng)建的用戶中選擇一個用戶名, 然后輸入相應(yīng)的密碼。程序在數(shù)據(jù)庫的 users 數(shù)據(jù)表中進(jìn)行查詢,如果用戶的 密碼正確,就可以使用該系統(tǒng);如果用戶的密碼錯誤,將提示用戶重新輸入密 碼。 登錄窗口 frmlogin 如圖所示。 窗口設(shè)計效果 (4

47、) 、因為要在窗口的代碼中使用 ado 中的一些對象進(jìn)行數(shù)據(jù)庫的操作, 所以必須先引用相應(yīng)的庫。在菜單欄中一次選擇“工程”“引用”菜單。 (5) 、在“可用的引用”列表中選擇“microsoft activex data objects 2.0 library”項,然后單擊“確定”按鈕即可。這樣就可以在程序代碼中使用 ado 中的對象了。 (6) 、當(dāng)系統(tǒng)運(yùn)行打開 frmlogin 窗口的時候,需要從數(shù)據(jù)庫的 users 數(shù)據(jù) 表中查找當(dāng)前系統(tǒng)中所有的用戶,然后將它們添加到 cmbusername 組合框中。 這樣,當(dāng)程序開始運(yùn)行,加載 frmlogin 窗口的時候,就會從 purchasea

48、ndsale 數(shù)據(jù)庫的 users 數(shù)據(jù)表中檢索所有記錄的用戶字段,然后將 它們逐條添加到 cmbusername 組合框的子項中。最后將組合框的第一個子項設(shè) 置為默認(rèn)選項。 (7) 、當(dāng)用戶單擊“確定”按鈕時,程序需要從 cmbusername 組合框中取 得用戶選擇的用戶名,然后根據(jù)用戶名對 purchaseandsale 數(shù)據(jù)庫的 users 數(shù) 據(jù)表中進(jìn)行檢索,如果檢索的密碼和用戶輸入的密碼一致,則卸載登錄窗口, 然后打開主窗口;如果用戶輸入錯誤,則提示用戶密碼錯誤,需要重新輸入, 然后將焦點轉(zhuǎn)移到 cmbusername 組合框。但是如果檢測到用戶已經(jīng)連續(xù) 3 次輸 入密碼都錯誤,就

49、需要提示用戶無權(quán)登錄本系統(tǒng),并推出系統(tǒng)。 在界面設(shè)計窗口中雙擊 cmbok 控件,進(jìn)入“確定”按鈕的單擊事件處理代 碼中,輸入如下代碼: private sub cmdok_click() if trim(cmbusername.text) = then 首先要求用戶名不能為空 msgbox 用戶名不能為空!, vbokonly + vbexclamation, 警告! cmbusername.setfocus 將焦點轉(zhuǎn)移到用戶名組合框中 exit sub end if connstring = provider=sqloledb.1;password=ecc;persist security

50、 info=ture;user id=sa;initial catalog=purchaseandsale;server=(load) if conn.state 1 then 如果數(shù)據(jù)庫沒有打開,則打開數(shù)據(jù)庫 conn.open (connstring) end if set rs = conn.excute(select * from users where 用戶 = password=ecc;persist security user id=sa;initial catalog=purchaseandsale;server=(local) if conn.state 1 then con

51、n.open (connstring) end if conn.execute (strupdate) conn.close adokcpd.refresh myerr: end sub (9) 、當(dāng)用戶單擊“退出窗口”按鈕時,需要調(diào)用窗體的卸載事件。所以 雙擊 command2 控件,在其單擊事件中輸入如下代碼: private sub command2_click() unload me end sub (10) 、這樣,庫存盤點主要的功能就設(shè)置完成了。下面需要將 frmkcpd 窗 口和主窗口中相應(yīng)的菜單綁定。單擊 frmmain 窗口中的“庫存盤點”菜單,進(jìn) 入到菜單的單擊事件中,輸入

52、如下代碼: private sub kcpd_click() load frmkcpd frmkcpd.show me.enabled = false end sub 這樣,庫存盤點的功能就全部實現(xiàn)了。 登錄程序,登錄后進(jìn)入到系統(tǒng)的主窗口,單擊菜單欄中的庫存盤點,效果 如圖所示。 4.3.9 創(chuàng)建產(chǎn)品管理窗口創(chuàng)建產(chǎn)品管理窗口 菜單中的第 4 項是產(chǎn)品管理,也就是對數(shù)據(jù)庫中的 product 數(shù)據(jù)表進(jìn)行維 護(hù)。在價格管理窗口中,允許用戶對商品和產(chǎn)品的記錄進(jìn)行增加、刪除和編輯 等操作。 創(chuàng)建庫存盤點窗口的步驟如下: (1)按照前述方法在應(yīng)用程序工程中加入一個 windows 窗口 frmcpgl。

53、 (2) 設(shè)置 frmcpgl 窗口的 icon 屬性為 system。ico,borderstyle 屬性為 fixed single,startupposition 屬性為屏幕中心,caption 屬性為“產(chǎn)品 管理” 。 (3) 利用 adodc 控件連接到數(shù)據(jù)庫。從工具箱中拖動一個 adodc 控件到窗體 中,命名為 adocpgl。 (4)前述方法設(shè)置 adocpgl 控件的連接屬性,使其連接到數(shù)據(jù)庫 purchaseandsale,并檢索 product 數(shù)據(jù)表。 (5) datagrid 控件不但可以顯示數(shù)據(jù),還可以在其中編輯數(shù)據(jù)。從工具箱中 拖動一個 datagrid 控件到富

54、 frmcpgl 窗口中,命名為 dgdcpgl。設(shè)置其 datasource 屬性為 adocpgl,allowupdate 屬性為 false。 (6) 在 frmcpgl 窗體設(shè)置中放置 5 個命令按鈕控件,設(shè)置其 caption 為“添 加” 、 “修改” 、 “刪除” 、 “保存”和“關(guān)閉” 。 這樣,窗體的界面部分就設(shè)計完成了,效果如圖所示。 (7)為了保護(hù)數(shù)據(jù)的安全,防止用戶的誤操作,adocpgl 初始狀態(tài)下是不可編 輯的。如果需要添加一條新紀(jì)錄,必須先單擊“添加”按鈕,輸入相關(guān)字段信 息后再單擊“保存”按鈕保存添加的記錄。雙擊 command1 控件,進(jìn)入“添加” 按鈕的單擊

55、事件,輸入如下代碼: private sub command1_click() on error goto adderr dgdcpgl.allowaddnew = true dgdcpgl.allowupdate = true dgdcpgl.allowdelete = false adocpgl.recordset.movelast dgdcpgl.setfocus exit sub adderr: msgbox err.description end sub (8)當(dāng)用戶需要修改記錄的時候,需要先單擊“修改”按鈕,然后方可編輯記 錄,最好單擊“保存”按鈕保存修改結(jié)果。雙擊 command

56、2 控件,進(jìn)入單擊事件 輸入如下代碼: private sub command2_click() on error goto updateerr dgdcpgl.allowaddnew = false dgdcpgl.allowdelete = false dgdcpgl.allowupdate = true exit sub updateerr: msgbox err.description end sub (9)當(dāng)用戶需要刪除記錄的時候,需要先單擊“刪除”按鈕,然后經(jīng)過對話框 確認(rèn)后方可編輯記錄。雙擊 command3 控件,進(jìn)入其單擊事件,進(jìn)入其單擊事件, 輸入如下代碼: private

57、 sub command3_click() on error goto deleteerr dgdcpgl.allowaddnew = false dgdcpgl.allowdelete = false with adocpgl.recordset if msgbox(刪除記錄將無法恢復(fù),確實要刪除?, vbyesno + vbinformation, 提示) = vbyes then .delete .movenext if .eof then .movelast end if end with exit sub deleteerr: msgbox err.description end s

58、ub 這樣,價格管理部分的功能就設(shè)計完成了。 4.3.10 創(chuàng)建庫存查詢窗口創(chuàng)建庫存查詢窗口 菜單中的庫存查詢主要是查詢每一種庫存商品的信息。 在這個窗口中,提供一個下拉表框, 、用戶可以從中選擇一種查詢依據(jù),然后在 文本框中輸入需要查詢的關(guān)鍵字,單擊“查詢”按鈕就可以在 product 數(shù)據(jù)表 中進(jìn)行模糊查詢。 創(chuàng)建數(shù)據(jù)庫查詢窗口的步驟如下: (1)按照前述方法在應(yīng)用程序工程中加入一個 windows 窗口 frmkccx。 (2)設(shè)置 frmkccx 窗口的 icon 屬性為 system。ico,caption 屬性為“庫存查 詢” ,borderstyle 屬性為“fixed sing

59、le” ,startupposition 屬性為屏幕中心。 (3)創(chuàng)建一個 adodc 控件 adokccx,按照前述方法設(shè)置其連接屬性,使其連接 到 purchaseandsale 數(shù)據(jù)庫,檢索 product 數(shù)據(jù)表。設(shè)置其 visible 屬性為 false。 (4)從工具箱中拖動一個 datagrid 控件到 frmkccx 窗口中,命名為 dgdkccx。設(shè)置其 allowupdate 屬性為 false,datasource 屬性為 adokccx。 (5)在窗口放置一個 frame 控件,設(shè)置其 caption 屬性為“請選擇查詢條件” 。 (6)在窗口放置一個 combox 控

60、件和一個 textbox 控件,并設(shè)置 textbox 控件 的 text 屬性為空。 (7)在窗口上放置兩個 commbutton 控件,分別設(shè)置其 caption 屬性為“查詢” 和“退出” 。 (8)調(diào)整各個控件的位置,界面設(shè)置完成,效果如圖所示: (9)當(dāng)打開該窗口的時候,需要將幾種常用的查詢依據(jù)添加到 combo1 的子項 中。雙擊 frmkccx,進(jìn)入其加載事件,輸入如下代碼: private sub form_load() combo1.additem (商品名稱) combo1.additem (產(chǎn)地) combo1.additem (規(guī)格) combo1.additem (包

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論