版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)設(shè)計(論文)</p><p><b> ( 屆)</b></p><p> 論文題目基于C#與IDEF0的進銷存管理系統(tǒng)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級 信息管理與信息系統(tǒng) &l
2、t;/p><p> 學(xué)生姓名 學(xué)號 </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 日</p><p> 基于C#與IDEF0的進銷存管理系統(tǒng)研究</p><p&g
3、t; 摘要:隨著經(jīng)濟的高速發(fā)展,企業(yè)的信息化工作也在如火如荼地進行,由于企業(yè)規(guī)模的不斷擴大以及商務(wù)往來的日益增多,企業(yè)對進銷存信息的掌握和使用也越來越多,以前原始的手工操作方式不能適應(yīng)企業(yè)快速發(fā)展的需要,由此,提出了本研究課題。在研究中,在IDEF0建?;A(chǔ)上,結(jié)合進銷存業(yè)務(wù)流程,以軟件工程的思想作為指導(dǎo),對系統(tǒng)的實現(xiàn)進行了研究,最后開發(fā)出一個進銷存管理系統(tǒng)。此系統(tǒng)經(jīng)初步檢驗,可以迅速提高企業(yè)的業(yè)務(wù)效率,節(jié)省人力資源,提高管理水平,從
4、而降低企業(yè)的管理成本。</p><p> 關(guān)鍵詞:進銷存,C#,IDEF0,管理系統(tǒng)</p><p> Invoicing Management System based on C# and IDEF0</p><p> Abstract :With the rapid economic development, enterprise information
5、technology is also working quickly, due to the continuous expansion of business scale and the increasing number of business contacts, business-to-Invoicing and the use of information to grasp more and more, before the or
6、iginal manual mode of operation can not meet the needs of rapid development of enterprises, which is proposed in this research topic. In the study, lied to the IDEF0 modeling foundation, combined with Invoicing</p>
7、<p> Key Words: Invoicing,C#,IDEF0, Management System</p><p><b> 目錄</b></p><p><b> 1 引言1</b></p><p> 1.1 問題的提出1</p><p> 1.2 研究意
8、義1</p><p><b> 2 系統(tǒng)分析2</b></p><p> 2.1 系統(tǒng)需求分析2</p><p> 2.2 可行性分析3</p><p> 3 相關(guān)技術(shù)介紹及分析3</p><p> 3.1 SQL Server概述3</p><
9、p> 3.2 .Net平臺介紹4</p><p> 3.3 C#語言概述5</p><p> 4 系統(tǒng)模塊設(shè)計及功能需求分析5</p><p> 4.1 基于IDEF0的系統(tǒng)建模5</p><p> 4.2 系統(tǒng)主要功能模塊分析9</p><p> 5 系統(tǒng)設(shè)計10</p
10、><p> 5.1 數(shù)據(jù)庫設(shè)計10</p><p> 5.1.1 數(shù)據(jù)庫概述10</p><p> 5.1.2 數(shù)據(jù)庫分析11</p><p> 5.1.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計13</p><p> 5.1.4 存儲過程以及觸發(fā)器18</p><p> 5.2 系
11、統(tǒng)詳細設(shè)計20</p><p> 5.2.1 數(shù)據(jù)庫連接20</p><p> 5.2.2 系統(tǒng)登陸設(shè)計21</p><p> 5.2.3 數(shù)據(jù)統(tǒng)計及打印21</p><p> 5.2.4 系統(tǒng)的安全性措施22</p><p> 5.2.5 系統(tǒng)測試運行22</p><
12、;p> 6 系統(tǒng)實現(xiàn)23</p><p> 6.1 系統(tǒng)登陸實現(xiàn)23</p><p> 6.2 主界面實現(xiàn)25</p><p> 6.3 部分基礎(chǔ)數(shù)據(jù)管理25</p><p> 6.4 業(yè)務(wù)管理27</p><p> 6.5 商品入庫、出庫管理30</p><
13、;p> 6.6 財務(wù)管理實現(xiàn)32</p><p><b> 7 總結(jié)34</b></p><p> 致謝錯誤!未定義書簽。</p><p><b> 參考文獻35</b></p><p><b> 1 引言朗讀</b></p><
14、;p> 顯示對應(yīng)的拉丁字符的拼音</p><p> 字典 - 查看字典詳細內(nèi)容</p><p> 中國工業(yè)和信息化部總工程師朱宏任26日在西安舉行的“2010中國(陜西)非公有制經(jīng)濟發(fā)展論壇”上表示,目前中國中小企業(yè)總數(shù)已占全國企業(yè)總數(shù)的99%以上,創(chuàng)造的最終產(chǎn)品和服務(wù)價值相當(dāng)于國內(nèi)生產(chǎn)總值的60%左右,在繁榮經(jīng)濟、推動創(chuàng)新、擴大出口、增加就業(yè)等方面發(fā)揮了重要作用[1]。雖然中
15、小企業(yè)在現(xiàn)階段取得了很好的成績,但是伴隨著經(jīng)濟的高速發(fā)展,中小企業(yè)規(guī)模的不斷擴大以及商務(wù)往來的日益增多,中小企業(yè)的一些弊端就暴露了出來,其中最大的就是由于業(yè)務(wù)量的增大,對進銷存信息的掌握要求越來越高,以前原始的手工操作方式已經(jīng)不能適應(yīng)企業(yè)快速發(fā)展的需要,因此進行有效的進銷存管理已經(jīng)成為中小企業(yè)生存的一個要事。</p><p> 1.1 問題的提出</p><p> 就目前來說大量的中
16、小型企業(yè)存在這樣的問題:由于進銷存方面管理的不完善,一些相關(guān)的管理人員都無法得到企業(yè)全面的進銷存信息,例如相關(guān)的報表,這就導(dǎo)致了整個企業(yè)管理人員中的信息無法保持一致。并且由于高速發(fā)展帶來的市場競爭日趨激烈,產(chǎn)品的日趨同質(zhì)以及電子商務(wù)的快速發(fā)展帶來了貿(mào)易方式的變革以及經(jīng)濟活動的革命,這些雖然給中小企業(yè)帶來了與大公司競爭的有利條件,但是由于中小企業(yè)在管理體制上的不完善,并且企業(yè)的競爭目標也從單純的產(chǎn)品競爭轉(zhuǎn)向為供應(yīng)鏈的競爭,企業(yè)不僅僅關(guān)心銷
17、售的擴大,更加開始關(guān)心進、銷、存的各個環(huán)節(jié)。企業(yè)開始從成本控制方面加強企業(yè)的競爭力,這些無疑會使中小企業(yè)在競爭中處于及其不利的地位,使中小企業(yè)在日趨激烈的競爭中無法占有一席之地。</p><p><b> 1.2 研究意義</b></p><p> 進銷存系統(tǒng)通過對企業(yè)擁有的人力、物力、財力、設(shè)備、技術(shù)等資源的調(diào)查了解,建立正確的數(shù)據(jù),加工處理并編制成各種信息資
18、料及時提供給管理人員,極大提高了工作人員的工作效率,并且大大減少了以往采購、入庫、銷售、出庫流程繁瑣,雜亂,周期長的弊端。利用進銷存軟件對企業(yè)進行管理,及時全面的共享關(guān)鍵信息,可以很好的降低消耗,提高了供應(yīng)鏈的管理水平[2],并且進銷存系統(tǒng)通過各種數(shù)據(jù)的計算,可以為管理層提供大量基礎(chǔ)數(shù)據(jù),以便進行正確的決策,不斷提高企業(yè)的管理水平和經(jīng)濟效益。</p><p> 在實際的應(yīng)用中本系統(tǒng)可以為企業(yè)具體提供以下的服務(wù):
19、</p><p> 能對企業(yè)內(nèi)的各類貨物進行分類管理,并提供最低庫存量、最高庫存量、安全庫存量的預(yù)警功能。</p><p> 可以存儲各種基本信息檔案包括客戶檔案、產(chǎn)品基本信息、供貨單位信息、倉庫信息、員工信息等。</p><p> 可以方便快捷的進行商品的采購、銷售管理。</p><p> 還必須要有退貨管理。</p>
20、<p> 可以通過查詢功能及報表分析功能對企業(yè)的基本商品采購及銷售信息有所了解為企業(yè)的決策提供依據(jù)。</p><p> 支持庫存的盤點功能。</p><p><b> 2 系統(tǒng)分析</b></p><p> 2.1 系統(tǒng)需求分析</p><p> 經(jīng)過對系統(tǒng)的業(yè)務(wù)流程、系統(tǒng)流程的調(diào)查以及對所需提
21、供的服務(wù),一個成功的進銷存信息系統(tǒng)應(yīng)該具備如下的條件: </p><p> 此信息系統(tǒng)要具有方便的數(shù)據(jù)查詢功能,查詢數(shù)據(jù)的速度的效率要高,這就要求在建立數(shù)據(jù)庫的時候要建立合適的索引;</p><p> 此信息系統(tǒng)要具有良好的人機交互界面,人機交互界面作為軟件與客戶的溝通渠道,必須是清楚,簡單;</p><p> 此信息系統(tǒng)將為用戶提供賬號管理工具,以便用戶對賬
22、號進行管理,具體為添加用戶、刪除用戶、修改用戶密碼,并且在帳號管理的基礎(chǔ)之上,管理員具有權(quán)限管理的功能;</p><p> 此信息系統(tǒng)能通過圖表分析商品銷售狀況,圖表分析具有直觀,表達清楚的特點,通過圖表可以為公司決策者的決策提供可靠的依據(jù);</p><p> 此系統(tǒng)可以對數(shù)據(jù)庫進行備份以及還原操作;</p><p> 此系統(tǒng)要求具有自動編號的功能,例如,采購
23、單的編號為PU+當(dāng)天日期+5位單據(jù)編號;</p><p> 此系統(tǒng)大部分數(shù)據(jù)都要進行自動計算,盡量減少人工的計算,以免產(chǎn)生錯誤;</p><p> 2.2 可行性分析</p><p> 本系統(tǒng)后臺數(shù)據(jù)庫采用目前較流行的SQL Sever,該數(shù)據(jù)庫在安全性、準確性、運行速度上有著較好的表現(xiàn),并且可以處理大量的數(shù)據(jù);前臺則采用的是Visual Studio 20
24、08作為主要的開發(fā)工具,.NET Framework3.5框架作為微軟公司已經(jīng)比較成熟的產(chǎn)品,現(xiàn)在有越來越多的企業(yè)及技術(shù)人員選擇它來作為開發(fā)平臺使訪問數(shù)據(jù)庫的操作更為簡單易用。因此,在技術(shù)上是完全可以勝任這個平臺的開發(fā)。</p><p> 3 相關(guān)技術(shù)介紹及分析</p><p> 3.1 SQL Server概述 </p><p> SQL Server
25、2005 是一個非常全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級的數(shù)據(jù)管理。SQL Server 2005 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。本系統(tǒng)采用SQL Server2005作為后臺數(shù)據(jù)庫。SQL Server2005的性價比最高、運行穩(wěn)定、安全性高、操作簡單,并且由于本系統(tǒng)處理的數(shù)據(jù)量不是很大,所以選擇了SQL Server 2
26、005作為本系統(tǒng)的后臺數(shù)據(jù)支持系統(tǒng)。并且SQL Server 2005還具有如下的特點:</p><p> ?。?)可編程性:CLR(Common Language Runtime,公共語言運行時)集成。本系統(tǒng)的開發(fā)平臺是Visual Studio 2008,它與此數(shù)據(jù)庫同是微軟的產(chǎn)品,其核心已由.NET Framework 3.5改寫,可以達到數(shù)據(jù)庫與開發(fā)平臺的無縫連接。</p><p>
27、; ?。?)安全性:SQL Server 2005 的安全達到了很強大水平,有著很更清晰的安全模型、安全對象和權(quán)限。 </p><p> ?。?)異步處理能力:Service Broker提供了一個功能強大的異步編程模型。Broker的最大好處一是異步執(zhí)行能力,提高了可伸縮性,二是可靠執(zhí)行,三是集成于數(shù)據(jù)庫中,備份數(shù)據(jù)庫就備份了broker 的消息隊列。 </p><p> (4)支持通
28、過HTTP SOAP協(xié)議直接訪問數(shù)據(jù)庫,增加XML數(shù)據(jù)類型,支持Xquery,使用新的SQL Server Management Studio 等等。</p><p> 3.2 .Net平臺介紹</p><p> .NET(全稱Dot NET)是由Microsoft公司經(jīng)過長時間的研發(fā)所推出的開發(fā)平臺,它吸取了以前開發(fā)平臺的經(jīng)驗和教訓(xùn),定義了開發(fā)和運行企業(yè)級客戶端應(yīng)用的一個標準,一個
29、體系結(jié)構(gòu),它以開發(fā)的可靠性、可擴展性、可管理性和安全性很快被Web和Windows Form的開發(fā)者所喜愛。.NET的體系結(jié)構(gòu)[3]如下:</p><p> 圖3.1 .Net平臺體系結(jié)構(gòu)</p><p> .Net平臺在開發(fā)上還有以下的優(yōu)勢【4】:</p><p> ?。?)優(yōu)秀的設(shè)計。只有一個基類庫,并以一種非常直觀的方式設(shè)計出來。</p>&
30、lt;p> (2)語言無關(guān)性。在.NET中,VB.NET、C#、J#和Managed C++等語言都可以編譯為通用的中間語言(Intermediate Language),這說明,語言可以用以前沒有的方式交互操作。</p><p> ?。?)高效的數(shù)據(jù)訪問。一組.NET組件,總稱為ADO.NET,提供了對關(guān)系數(shù)據(jù)庫和各種數(shù)據(jù)源的高效訪問,這些組件也可以訪問文件系統(tǒng)和目錄。.NET內(nèi)置了XML支持,可以處
31、理從非Windows平臺導(dǎo)入或?qū)С龅臄?shù)據(jù)。</p><p> ?。?)增強的安全性。每個程序集還可以包含內(nèi)置的安全信息,這些信息可以準確的指出誰或哪種類型的用戶或進程可以調(diào)用什么類的哪些方法,這樣就可以非常準確的控制程序集的使用方式。</p><p> 3.3 C#語言概述</p><p> C#是一種面向?qū)ο缶幊痰恼Z言,主要用于在開發(fā)可以在.Net平臺上運行
32、的應(yīng)用程序。C#語言體系都構(gòu)建在.Net框架上,它是從C和C++派生出來的一種簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言,并且能夠與.Net框架完美結(jié)合,除此之外,C#還具有以下特點 [5]: </p><p> ?。?)語法簡潔。不允許直接操作內(nèi)存,去掉了指針操作。</p><p> ?。?)徹底的面向?qū)ο笤O(shè)計。C#具有面向?qū)ο笳Z言所應(yīng)有的一切特性——封裝、繼承和多態(tài)。</p>
33、<p> (3)強大的安全機制??梢韵浖_發(fā)中的常見錯誤(如語法錯誤),.NET提供的垃圾回收器能夠幫助開發(fā)者有效地管理內(nèi)存資源。</p><p> ?。?)兼容性。因為C#遵循.NET的公共語言規(guī)范(CLS),從而保證能夠與其他語言開發(fā)的組件兼容。</p><p> ?。?)靈活的版本處理技術(shù)。因為C#語言本身內(nèi)置了版本控制功能,使得開發(fā)人員可以更容易地開發(fā)和維護。&
34、lt;/p><p> (6)完善的錯誤、異常處理機制。C#提供了完善的錯誤和異常處理機制,使程序在交付應(yīng)用時能夠更加健壯。</p><p> 4 系統(tǒng)模塊設(shè)計及功能需求分析</p><p> 4.1 基于IDEF0的系統(tǒng)建模</p><p> 建模的目的包括分析現(xiàn)有系統(tǒng)以及待建的未來系統(tǒng),是對企業(yè)整體運營活動的描述以及開發(fā)過程中各種關(guān)
35、系的分析。企業(yè)建模是實現(xiàn)信息系統(tǒng)集成和優(yōu)化的基礎(chǔ),是針對企業(yè)所需要解決的問題【6】。</p><p> 企業(yè)信息系統(tǒng)建模作為企業(yè)信息集成的決策支持工具和方法的集合, 是信息系統(tǒng)開發(fā)的關(guān)鍵。IDEF0作為IDEF中的一種已得到廣泛的應(yīng)用【7】。IDEF0的基本概念是在70年代提出的結(jié)構(gòu)化分析方法基礎(chǔ)上發(fā)展起來的。結(jié)構(gòu)化分析方法在許多應(yīng)用問題中起了很好的作用。該方法在降低開發(fā)費用、減少系統(tǒng)中的錯誤、促進交流的一致性
36、及加強管理等方面都產(chǎn)生了較好的效益【8】。</p><p> IDEF0描述系統(tǒng)的功能活動及其聯(lián)系,在ICAM中建立加工制造業(yè)的體系結(jié)構(gòu)模型,其基本內(nèi)容是SADT的活動模型方法,是由Softech發(fā)展而來的。</p><p> 作為一種功能建模語言,IDEF0具有以下特點:全面及表達能力強;是一種連貫的簡單的語言;易于學(xué)習(xí)并強調(diào)細節(jié)的層次化;在美國空軍、其他政府開發(fā)工程以及私營工業(yè)中的
37、應(yīng)用得到了很好的檢驗和證明;能由多種計算機圖形工具生成[9]。</p><p> 進銷存系統(tǒng)是一個比較復(fù)雜的過程,涉及多個方面的內(nèi)容,一般的說,一個系統(tǒng)可以被認為是由對象物體(用數(shù)據(jù)表示)和活動(由人、機器和軟件來執(zhí)行)以及他們之間的聯(lián)系組成。但如果是從數(shù)據(jù)或活動來描述,那么至多只反映了一個側(cè)面,這樣的技術(shù)很難說明系統(tǒng)的全貌[10],而IDEF0卻很好的解決了這個問題,如圖4.1.1所示,IDEF0能同時表達系
38、統(tǒng)的活動(盒子)和數(shù)據(jù)流(箭頭)以及他們之間的聯(lián)系,由此我們可以很好的看到整個系統(tǒng)。系統(tǒng)得到輸入的商品資料、供應(yīng)商資料及客戶資料等基本信息,根據(jù)市場情況以及人員資金等,得出各種報表數(shù)據(jù)以及為公司決策提供依據(jù)。圖4.1.2是系統(tǒng)頂層系統(tǒng)功能圖,它表明系統(tǒng)中各模塊之間的輸入輸出關(guān)系。系統(tǒng)主要由采購管理,銷售管理,庫存管理,財務(wù)管理等模塊組成。采購管理主要是根據(jù)實際需求進行采購活動,包括采購單錄入,審核,明細單的錄入等功能。銷售管理主要是填寫
39、銷售單錄入,審核,銷售明細單的錄入等。庫存管理主要是對當(dāng)前的庫存狀況進行查詢,對庫存進行報警以及庫存盤點調(diào)撥等一系列的功能。財務(wù)管理是根據(jù)采購明細單和銷售明細單形成欠款信息,根據(jù)欠款信息進行收付款。</p><p> 圖4.1 進銷存管理系統(tǒng)活動圖</p><p> 圖4.2進銷存管理系統(tǒng)頂層功能圖</p><p> 按照IDEF0功能模型的特點,即從上到下,
40、逐層分解,可以得到一張系統(tǒng)功能模型的層次分解表。如表1所示:</p><p> 表4.1 系統(tǒng)功能模型層次分解表</p><p> 根據(jù)上表的內(nèi)容,由此可以得到系統(tǒng)功能分解圖,如圖3所示:</p><p> 圖4.3 系統(tǒng)功能分解圖</p><p> 根據(jù)IDEF0模型可以得到的信息模型如圖4所示,表達了整個進銷存系統(tǒng)中各功能模塊之間
41、的聯(lián)系,讓整個進銷存系統(tǒng)能夠完整的運行。</p><p> 圖4.4 進銷存系統(tǒng)信息模型</p><p> 4.2 系統(tǒng)主要功能模塊分析</p><p> 圖4.5 系統(tǒng)總功能模塊圖</p><p> 根據(jù)需求分析以及建立的IDEF0模型,將進銷存管理系統(tǒng)的開發(fā)具體劃分為9個模塊:基礎(chǔ)資料設(shè)置、業(yè)務(wù)管理、查詢中心、庫存管理、報表分析
42、、財務(wù)管理、基本工具以及系統(tǒng)管理。</p><p> 基礎(chǔ)資料設(shè)置模塊:主要負責(zé)對系統(tǒng)的基本數(shù)據(jù)錄入,眾所周知,我們在整個系統(tǒng)的運行中,最基本的操作就是對數(shù)據(jù)進行操作,本模塊就是對進銷存中所涉及到的數(shù)據(jù)輸入到數(shù)據(jù)庫,在這里我們總共有6方面的基礎(chǔ)資料:客戶資料、員工資料、供應(yīng)商資料、倉庫信息資料、商品資料、商品類別資料。通過本模塊可以對數(shù)據(jù)進行增、刪、改、查是本系統(tǒng)的一個很基本的功能模塊。</p>
43、<p> 業(yè)務(wù)管理模塊下面又可以細分為采購模塊和銷售模塊。</p><p> 采購管理模塊:隨著時代的發(fā)展,企業(yè)對于采購的管理越來越重視,對于供應(yīng)商的選擇也越來越慎重,雙方從討價還價的關(guān)系轉(zhuǎn)變成了相互依存的關(guān)系,企業(yè)更加充分的認識到了企業(yè)的產(chǎn)品質(zhì)量要從采購抓起,這就關(guān)系到了供貨商的供貨質(zhì)量。采購業(yè)務(wù)的流程主要涉及到下面幾個環(huán)節(jié),由員工填寫采購訂單,主要內(nèi)容包括供應(yīng)商,采購的商品,采購價格,采購數(shù)量等
44、。并且當(dāng)發(fā)現(xiàn)商品的質(zhì)量不合格,型號不對、運輸錯誤等原因造成的問題作出采購?fù)素浀奶幚恚谶@里我們的采購?fù)素浻射N售單進行處理,在單據(jù)類型中選擇采購?fù)素洝?lt;/p><p> 銷售管理模塊:自古以來,銷售在企業(yè)的經(jīng)營活動中占據(jù)著很重要的地位,企業(yè)只有通過銷售才能實現(xiàn)自己的價值,創(chuàng)造出可觀的理論,因此企業(yè)必須加強銷售管理,才能提高自己的經(jīng)濟效益。銷售管理的流程類似于采購管理,由員工填寫銷售單之后,然后將銷售單發(fā)往倉庫,由
45、倉庫對商品進行發(fā)貨處理,并且根據(jù)銷售訂單生成出庫單(一張笑的訂單可以對應(yīng)多張出庫單),當(dāng)出現(xiàn)退貨的情況時,在采購管理中增加一條退貨單的記錄。</p><p> 查詢中心模塊:主要功能是對歷史記錄進行查詢。</p><p> 庫存管理模塊:企業(yè)庫存不當(dāng)?shù)脑挄黾雍芏嗖槐匾馁M用,當(dāng)存貨過多的時候,將導(dǎo)致庫存產(chǎn)品的積壓、存儲的費用也相應(yīng)的增加,造成流動資金周轉(zhuǎn)不利,并且過量的庫存還會導(dǎo)致管
46、理上面出現(xiàn)問題。而庫存不足的話則會造成企業(yè)正常的銷售環(huán)節(jié)無法展開給企業(yè)造成經(jīng)濟上的損失,因此良好的庫存管理是一個十分必要的事情,庫存管理的目標就是尋求最恰當(dāng)?shù)臉藴剩箮齑娴某杀緶p到最低。</p><p> 報表分析模塊:市場預(yù)測是對影響市場供求變化的諸因素進行調(diào)查研究,分析和預(yù)見其發(fā)展趨勢,掌握市場供求變化的規(guī)律,為經(jīng)營決策提供可靠的數(shù)據(jù)。預(yù)測為決策服務(wù),是為了提高管理的科學(xué)水平,減少決策的盲目性,我們需要通過
47、預(yù)測來把握企業(yè)發(fā)展或者未來市場變化的有關(guān)動態(tài),減少未來的不確定性,降低決策可能遇到的風(fēng)險,使決策目標得以順利實現(xiàn)。而報表分析就是一種很好的市場預(yù)測手段,通過報表分析可以知道近段時候商品的銷售情況,采購情況以及員工的銷售業(yè)績等,從而預(yù)測出市場的一些信息。</p><p> 財務(wù)管理模塊:財務(wù)管理的流程是當(dāng)訂單下去之后就會自動生成一張應(yīng)付或者應(yīng)收款的單據(jù),并且一張訂單可以有多張財務(wù)單據(jù),分多次付款或者收款。<
48、/p><p> 基本工具模塊主要有計算機,天氣預(yù)報、記事本、鬧鐘等小功能。</p><p> 系統(tǒng)管理主要負責(zé)更改用戶、更改密碼、備份還原數(shù)據(jù)庫,管理權(quán)限、用戶注冊。</p><p><b> 5 系統(tǒng)設(shè)計</b></p><p> 5.1 數(shù)據(jù)庫設(shè)計</p><p> 5.1.1
49、數(shù)據(jù)庫概述</p><p> 數(shù)據(jù)庫設(shè)計是整個系統(tǒng)設(shè)計的核心,數(shù)據(jù)庫的好壞直接影響到整個系統(tǒng)的效率,所以對于整個數(shù)據(jù)庫的開發(fā)是十分重要的,在開發(fā)中有著舉足輕重的作用,所有的數(shù)據(jù)都將存在于數(shù)據(jù)庫中,數(shù)據(jù)庫管理的思想是:對所有的數(shù)據(jù)實行統(tǒng)一的、集中的、獨立的管理,使數(shù)據(jù)存儲獨立于使用的數(shù)據(jù)程序,實現(xiàn)數(shù)據(jù)共享[11]。本研究的系統(tǒng)構(gòu)建也正是對數(shù)據(jù)庫進行操作的。</p><p> 數(shù)據(jù)庫技術(shù)最
50、初產(chǎn)生于20世紀60年代中期。第一代數(shù)據(jù)庫的代表是1968年IBM公司研制的層次模型的數(shù)據(jù)庫管理系統(tǒng)IMS和1969年美國數(shù)據(jù)庫系統(tǒng)語言協(xié)商CODASYL下屬數(shù)據(jù)庫任務(wù)組DBTG提議的網(wǎng)狀模型。層次數(shù)據(jù)庫的數(shù)據(jù)模型是有根的定向有序樹,網(wǎng)狀模型對應(yīng)的是有向圖。第二代數(shù)據(jù)庫的主要特征是支持關(guān)系數(shù)據(jù)模。在20世紀70年代由時任IBM研究員的E.F.Codd博士在Communications of ACM 上發(fā)表的《大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模型
51、》上提出,它首次明確而清晰地為數(shù)據(jù)庫系統(tǒng)提出了一個嶄新的模型,即關(guān)系模型。“關(guān)系”是數(shù)學(xué)中的一個基本概念,由集合中的任意元素所組成的若干有序偶對表示,用以反應(yīng)客觀事物之間所存在的一定關(guān)系,如數(shù)之間的大小關(guān)系,一個組織中成員間的領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)關(guān)系等等[12]。而E.F.Codd博士也被人稱為“關(guān)系數(shù)據(jù)庫之父”,并在1981年榮獲圖靈獎。關(guān)系數(shù)據(jù)庫系統(tǒng)管理的數(shù)據(jù)是以二維表的形式進行存儲;表之間的數(shù)據(jù)聯(lián)系是通過一個表的鍵與另一個表的鍵的連接來實
52、現(xiàn)。關(guān)系數(shù)據(jù)庫系統(tǒng)為其管理的數(shù)據(jù)提供并發(fā)控制、應(yīng)急恢復(fù)和可伸縮性等功能。關(guān)系數(shù)據(jù)庫最重要的特征不是其存儲和讀</p><p> 5.1.2 數(shù)據(jù)庫分析</p><p> 針對企業(yè)進銷存管理系統(tǒng)中分析所得出的功能,分別對三個重要的環(huán)節(jié)進、銷、存進行分析,總結(jié)出如下的數(shù)據(jù)庫設(shè)計需求,進銷存系統(tǒng)中的每個環(huán)節(jié)幾乎都涉及到了商品,因此商品必須要有一張表,商品是按照類別進行分類的,一個商品它必須
53、屬于一個類別,如果沒有的話那就需要建立一個類別,并且一個類別下還有商品就無法對該類別進行刪除,因此需要有一張表來存儲商品類別這個信息,在商品存放的時候,商品可以存放在多個倉庫,倉庫信息也需要存儲到數(shù)據(jù)庫中,在整個系統(tǒng)的運行過程中,需要有人對整個系統(tǒng)進行操作,必須要有一張存儲員工的表,不是每個員工都有權(quán)限操作整個系統(tǒng),必須控制員工的權(quán)限,權(quán)限表跟角色表的配合能很好的完成這個功能。在采購的過程中,涉及到的屬性有一個是供應(yīng)商信息,這就需要提供
54、一個表來存儲供應(yīng)商的信息,并且當(dāng)有單據(jù)涉及到該供應(yīng)商的時候該供應(yīng)商無法刪除,采購本身還要提供一張采購訂單表來存儲信息,與采購訂單對應(yīng)的還有付款單和入庫單,在銷售過程中,涉及到的信息有客戶信息,收款信息還有出庫信息,這些信息都需要在數(shù)據(jù)庫中能夠查詢的到,庫存管理作為進銷存中極其重要的一個環(huán)節(jié),他具有的功能:庫存調(diào)撥、庫存變動、庫存盤點,因此與之</p><p> 經(jīng)上述數(shù)據(jù)庫的分析,并且考慮到將來功能的擴展,可以
55、得出如下的數(shù)據(jù)庫設(shè)計方案,用戶表、角色表、員工表、商品類別表、客戶表、商品表、倉庫信息表、權(quán)限表、采購訂單表、采購訂單明細表、入庫單、入庫單明細、銷售訂單、銷售訂單明細、出庫訂單、出庫訂單明細,庫存盤點單、庫存調(diào)撥單、庫存變動單、庫存表。</p><p> 根據(jù)以上的關(guān)系,得出了整個系統(tǒng)的總體ER圖(圖5.1):</p><p> 圖 5.1 數(shù)據(jù)庫ER圖</p><
56、;p> 5.1.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p> 根據(jù)對企業(yè)基本業(yè)務(wù)的分析,一個商品流通企業(yè)進銷存管理系統(tǒng)可包括許多個數(shù)據(jù)表、數(shù)據(jù)視圖、存儲過程以及函數(shù)等,但有一些最基本的數(shù)據(jù)表,這里列出了系統(tǒng)設(shè)計中用到的最常用到的,最基本的數(shù)據(jù)表包括:商品信息表、商品類別表、供應(yīng)商信息表、客戶信息表、采購訂單表、采購訂單明細表、銷售訂單表、銷售訂單明細表、庫存信息表、入庫單表、出庫單表、員工信息表、庫存盤點
57、表等。</p><p> 5.1.4 存儲過程以及觸發(fā)器</p><p> 存儲過程和觸發(fā)器在整個數(shù)據(jù)庫中有著及其重要的功能,存儲過程是微軟SQL Server數(shù)據(jù)庫中的重要技術(shù)。合理地使用存儲過程,可以有效地提高程序的性能。并且,將商業(yè)邏輯封裝在數(shù)據(jù)庫系統(tǒng)的存儲過程中,可以大大提高整個軟件系統(tǒng)的可維護【14】。</p><p> 觸發(fā)器是一種特殊的存儲過程
58、,它類似于數(shù)據(jù)表中參照完整性約束,主要功能是監(jiān)視用戶對數(shù)據(jù)的修改、更新和刪除。如果對一個數(shù)據(jù)表創(chuàng)建了觸發(fā)器.則當(dāng)用戶欲對數(shù)據(jù)表進行INSERT、UPDATE和DELETE操作時,數(shù)據(jù)庫系統(tǒng)會使觸發(fā)器自動觸發(fā)執(zhí)行,以便采取適當(dāng)?shù)拇胧瑢ο嚓P(guān)數(shù)據(jù)表進行級聯(lián)更新,從而保證數(shù)據(jù)的完整性?!?3】</p><p> 在本次的系統(tǒng)開發(fā)中,使用了存儲過程來完成了系統(tǒng)的登陸功能,并且使用大量的觸發(fā)器來保證數(shù)據(jù)庫中數(shù)據(jù)的一致性及
59、完整性;以下是一些比較重要的存儲過程以及觸發(fā)器。</p><p> 該存儲過程的功能是將程序中傳入的帳號和密碼跟數(shù)據(jù)庫中的進行比對,當(dāng)成功匹配的時候,將100返回給程序,從而可以進入主界面進行操作,反之則返回-100。</p><p> create procedure [dbo].[proc_Login]</p><p><b> (</b&
60、gt;</p><p> @UserName varchar (20),</p><p> @UserPwd varchar (20)</p><p><b> )</b></p><p><b> as</b></p><p> if exists(select
61、* from tb_User where UserName=@UserName and UserPwd=@UserPwd)</p><p> return 100</p><p><b> else</b></p><p> return -100</p><p> 以下是一個在本研究中十分重要的一個觸發(fā)器,通
62、過該觸發(fā)器可以實現(xiàn)當(dāng)商品入庫之后,級聯(lián)修改庫存里面的數(shù)量,并且判斷當(dāng)前庫存是否處于正常水平,若未處于正常水平則彈出提示,并且在入庫后判斷該單據(jù)是否已完成,若已完成,將單據(jù)狀態(tài)修改為已完成。</p><p> Create TRIGGER [Trigger_Inventory_In]</p><p> ON [dbo].[tb_InStockOrder]</p><p
63、> After INSERT</p><p><b> AS</b></p><p> declare @InStockNo varchar(20),@NewNo varchar(20),@TotalCount int,@x int,@Upper int</p><p> --從Inserted表中取得主鍵的自動編號</p&
64、gt;<p> select @InStockNo=InStockNo from Inserted</p><p> select @Upper=(select UpperCount from tb_Inventory,inserted where tb_Inventory.GoodNo=inserted.GoodNo and tb_Inventory.Stock=inserted.Stock)
65、</p><p> select @x=(select count(*) from tb_Inventory,inserted where tb_Inventory.GoodNo=inserted.GoodNo and tb_Inventory.Stock=inserted.Stock)</p><p> select @NewNo=(select 'RK'+conve
66、rt(varchar,getdate(),112)+right(100001+isnull(max(cast(right(InStockNo,5) as int)),0),5) from tb_InStockOrder) </p><p> update tb_InStockOrder set InStockNo=@NewNo where InStockNo = @InStockNo</p>&
67、lt;p><b> if(@x>0)</b></p><p> begin </p><p> select @TotalCount=TotalCount+InStockCount from inserted,tb_Inventory where inserted.GoodNo=tb_Inventory.GoodNo and insert
68、ed.Stock=tb_Inventory.Stock</p><p> update tb_Inventory set tb_Inventory.GoodPrice =inserted.GoodPrice,TotalCount=@TotalCount,TotalMoney=inserted.GoodPrice*@TotalCount from tb_Inventory,inserted where tb_In
69、ventory.GoodNo=inserted.GoodNo and tb_Inventory.Stock=inserted.Stock</p><p> update tb_ProcureDetail set tb_ProcureDetail.CompleteCount=tb_ProcureDetail.CompleteCount+inserted.InStockCount from tb_ProcureDe
70、tail,inserted where tb_ProcureDetail.DetailNo=inserted.DetailNo</p><p> if((select count(*) from tb_ProcureDetail where CompleteCount=GoodCount and tb_ProcureDetail.ProcureNo=(select ProcureNo from tb_Procu
71、reDetail,inserted where tb_ProcureDetail.DetailNo=inserted.DetailNo))=(select count(*) from tb_ProcureDetail where tb_ProcureDetail.ProcureNo=(select ProcureNo from tb_ProcureDetail,inserted where tb_ProcureDetail.Detail
72、No=inserted.DetailNo)))</p><p><b> begin</b></p><p> update tb_Procure set ProcureState='已完成' where ProcureNo=(select ProcureNo from tb_ProcureDetail,inserted where tb_Proc
73、ureDetail.DetailNo=inserted.DetailNo)</p><p><b> end</b></p><p><b> end </b></p><p><b> if(@x<=0)</b></p><p><b> begin
74、</b></p><p> insert into tb_Inventory(GoodNo,GoodName,GoodClass,Stock,GoodPrice,TotalCount,TotalMoney,UpperCount,LowCount) select tb_Good.GoodNo,GoodName,c.GoodClass,Stock,GoodPrice,InStockCount,InSto
75、ckMoney,UpperLimit,LowerLimit from inserted I,tb_Good,tb_GoodClass as c where I.GoodNo=tb_Good.GoodNo and c.GoodClass=(select GoodClass from tb_Good,inserted where tb_Good.GoodNo=inserted.GoodNo)</p><p> up
76、date tb_ProcureDetail set tb_ProcureDetail.CompleteCount=tb_ProcureDetail.CompleteCount+inserted.InStockCount from tb_ProcureDetail,inserted where tb_ProcureDetail.DetailNo=inserted.DetailNo</p><p> if((sel
77、ect count(*) from tb_ProcureDetail where CompleteCount=GoodCount and tb_ProcureDetail.ProcureNo=(select ProcureNo from tb_ProcureDetail,inserted where tb_ProcureDetail.DetailNo=inserted.DetailNo))=(select count(*) from t
78、b_ProcureDetail where tb_ProcureDetail.ProcureNo=(select ProcureNo from tb_ProcureDetail,inserted where tb_ProcureDetail.DetailNo=inserted.DetailNo)))</p><p><b> begin</b></p><p>
79、update tb_Procure set ProcureState='已完成' where ProcureNo=(select ProcureNo from tb_ProcureDetail,inserted where tb_ProcureDetail.DetailNo=inserted.DetailNo)</p><p><b> end</b></p>
80、<p> end </p><p> if(@TotalCount>@Upper)</p><p><b> begin</b></p><p> print('庫存數(shù)量大于庫存上限,請及時出貨!')</p><p><b> end</b>
81、</p><p> 5.2 系統(tǒng)詳細設(shè)計</p><p> 5.2.1 數(shù)據(jù)庫連接</p><p> 一個信息管理系統(tǒng)能成功的運行需要的就是對數(shù)據(jù)庫的控制,因此,如何連接數(shù)據(jù)庫以及對數(shù)據(jù)庫的訪問就成了整個系統(tǒng)設(shè)計的一個關(guān)鍵,所有的數(shù)據(jù)都要通過連接數(shù)據(jù)庫才能存入到數(shù)據(jù)庫中,但是在整個系統(tǒng)中需要連接數(shù)據(jù)庫的操作非常之多,一個個寫是非常繁瑣的,在本系統(tǒng)中,所采用
82、的思想是采用類來訪問數(shù)據(jù)庫,類名為SqlClass,是連接數(shù)據(jù)庫的類,里面還有對數(shù)據(jù)的一些基本的操作,例如查詢數(shù)據(jù),打開和關(guān)閉數(shù)據(jù)庫的連接操作。在本系統(tǒng)中對數(shù)據(jù)庫的操作主要是使用DataTable和DataSet來完成,將數(shù)據(jù)存放到DataTable或者DataSet中,在最后完成的時候一起存放到數(shù)據(jù)庫中,由于可以支持離線操作,因此在效率上是比較高的,但是相應(yīng)的需要一定的內(nèi)存作為代價。</p><p><b
83、> 主要代碼如下所示:</b></p><p> public void inorde(string sqlstr)</p><p><b> {</b></p><p> opensql(); 打開數(shù)據(jù)庫連接</p><p> SqlCommand sqlcom = new SqlComma
84、nd(sqlstr, conn);</p><p> sqlcom.ExecuteNonQuery();</p><p> sqlcom.Dispose();釋放資源</p><p> sqlclose();關(guān)閉連接</p><p> }主要功能是對數(shù)據(jù)進行更新操作</p><p> public DataS
85、et search(string sqlstr)</p><p><b> {</b></p><p> opensql();</p><p> SqlDataAdapter sqlsearch = new SqlDataAdapter(sqlstr, conn);</p><p> DataSet ds = n
86、ew DataSet();</p><p> sqlsearch.Fill(ds);</p><p> sqlclose();</p><p> return ds;</p><p> }主要功能是將數(shù)據(jù)庫中的數(shù)據(jù)查詢出來</p><p> 5.2.2 系統(tǒng)登陸設(shè)計</p><p>
87、 當(dāng)系統(tǒng)第一次登陸的時候,必須配置服務(wù)器,配置界面主要有以下內(nèi)容需填寫,IP地址是服務(wù)器所在地址,數(shù)據(jù)庫是服務(wù)器的數(shù)據(jù)庫名,用戶名和密碼是操作員對數(shù)據(jù)庫的權(quán)限賬號。當(dāng)配置完服務(wù)器后就可以進行登陸操作了,下次登陸的時候只需選使用上次的配置即可(配置信息儲存在注冊表中)</p><p> 系統(tǒng)登陸主要用于對進銷存系統(tǒng)的用戶安全性進行檢查,沒有正確的賬號和密碼是無法進入系統(tǒng)的,并且在登錄過程中會自動驗證該用戶的權(quán)限
88、,從而判斷該用戶是否可以進行相應(yīng)的操作,而用戶的權(quán)限只有超級管理員才可以進行分配。</p><p> 判斷用戶權(quán)限的操作主要是通過查詢賬號和密碼是否符合數(shù)據(jù)庫里面的值,如果值存在,則賬號和密碼正確,允許登錄,否則提示賬號和密碼錯誤。</p><p> 5.2.3 數(shù)據(jù)統(tǒng)計及打印</p><p> 對于一個進銷存的系統(tǒng)來說,數(shù)據(jù)統(tǒng)計及報表打印的功能是必不可少的
89、,本系統(tǒng)的設(shè)計思路是單據(jù)的打印通過打印控件進行控制,是使用畫筆工具通過程序?qū)崿F(xiàn)單據(jù)格式以及內(nèi)容的顯示。對于報表來說是使用了Visual Studio 2008的水晶報表功能來完成,將需要的數(shù)據(jù)以SQL語句的形式傳給數(shù)據(jù)庫,并且得到返回的數(shù)據(jù),通過水晶報表可以將返回的數(shù)據(jù)顯示到水晶報表中,并且可以將數(shù)據(jù)以圖表的形式表現(xiàn)出來,除此之外,水晶報表自帶打印功能可以將匯總的數(shù)據(jù)以及圖表等打印出來。</p><p> 5.
90、2.4 系統(tǒng)的安全性措施</p><p> 對于一個信息系統(tǒng)來說安全性無疑是一個十分重要的部分,在本系統(tǒng)中總共在三個方面對安全性進行了設(shè)計。</p><p> ?。?)權(quán)限管理:如果無相應(yīng)的權(quán)限,則無法進行相應(yīng)的操作,具體的實施已經(jīng)在登陸設(shè)計中給出。</p><p> ?。?)信息記錄:在數(shù)據(jù)庫中建立一個系統(tǒng)日志表,用于查看操作員的登陸情況,可以知道什么時候誰登
91、陸過系統(tǒng),什么時候退出系統(tǒng),可以做到有據(jù)可查。</p><p> ?。?)數(shù)據(jù)庫備份及還原:本系統(tǒng)提供客戶端的數(shù)據(jù)備份及還原功能,通過該功能可以將數(shù)據(jù)從數(shù)據(jù)中備份到客戶端中,并且當(dāng)數(shù)據(jù)發(fā)生意外的情況下,可進行災(zāi)難恢復(fù),最大限度地避免損失。</p><p> 5.2.5 系統(tǒng)測試運行</p><p> 本系統(tǒng)的測試分別選擇了白盒測試法和黑盒測試法,分別從系統(tǒng)的內(nèi)
92、部邏輯方面和外部功能出發(fā)做單元測試、組裝測試以及確認測試。主要涉及到以下幾個方面的測試:</p><p> ?。?)系統(tǒng)管理員的賬號和密碼的正確性和一致性進行檢查,檢驗系統(tǒng)安全性。確保用戶沒有權(quán)限的話無法進行相關(guān)的操作。</p><p> ?。?)對信息填寫的正確性以及合法性的檢查,例如:在一些文本框中只能填入數(shù)字而無法填入字符,每個文本框最大可以填寫的字符數(shù)等等,通過這些措施保證數(shù)據(jù)輸入
93、的正確性。</p><p> ?。?)系統(tǒng)在輸出的時候,檢查輸出的內(nèi)容是不是用戶所需要的。</p><p> (4)數(shù)據(jù)庫的完整性,建立數(shù)據(jù)庫的時候設(shè)定相關(guān)的主鍵,并且采用觸發(fā)器的機制來確保信息的一致性。</p><p><b> 6 系統(tǒng)實現(xiàn)</b></p><p> 6.1 系統(tǒng)登陸實現(xiàn)</p>
94、<p> 在進入系統(tǒng)前需要進入登陸界面,通過登陸界面限定用戶登陸和判斷權(quán)限。</p><p><b> 圖6.1登陸界面</b></p><p> 當(dāng)?shù)谝淮蔚顷懙臅r候,如果不是在服務(wù)器上運行,需要配置服務(wù)器,服務(wù)器配置界面如下所示:</p><p> 圖6.2服務(wù)器配置界面</p><p><
95、b> 流程圖:</b></p><p> 圖6.3 系統(tǒng)登錄流程圖</p><p><b> 部分代碼設(shè)計如下:</b></p><p> private void btnlogin_Click(object sender, EventArgs e)</p><p><b> {&l
96、t;/b></p><p> if (txtuserid.Text == "" && txtuserpwd.Text == "")</p><p><b> {</b></p><p> MessageBox.Show("請輸入登陸信息!");</p&
97、gt;<p> txtuserid.Focus();</p><p><b> return;</b></p><p><b> }</b></p><p> Class.sqlOperate UserLogin = new Class.sqlOperate();</p><p&g
98、t; int P_int_returnValue = UserLogin.UserLogin(txtuserid.Text.Trim(), txtuserpwd.Text.Trim());</p><p> if (P_int_returnValue == 100)</p><p><b> {</b></p><p> SqlClas
99、s.login_name = txtuserid.Text;</p><p> this.Close();</p><p><b> }</b></p><p> if (P_int_returnValue == -100)</p><p><b> {</b></p><
100、;p> MessageBox.Show("用戶名或密碼錯誤!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);</p><p> txtuserpwd.Text = "";</p><p> txtuserpwd.Focus();</p>
101、<p><b> } </b></p><p><b> }</b></p><p> 6.2 主界面實現(xiàn)</p><p><b> 圖6.4信息主界面</b></p><p> 當(dāng)?shù)卿浀较到y(tǒng)主界面的時候會根據(jù)用戶名對系統(tǒng)的用戶權(quán)限進行判斷,并且將登陸時
102、間,登陸人員顯示在系統(tǒng)下方的狀態(tài)欄中。</p><p> 6.3 部分基礎(chǔ)數(shù)據(jù)管理</p><p> 圖6.5商品基本信息操作界面</p><p> 該界面是商品信息管理以及新增記錄的對話框,通過本窗口可以對基本的商品信息進行添加、修改、刪除操作,除此之外可以將數(shù)據(jù)導(dǎo)出至Excel,方便數(shù)據(jù)管理,通過右側(cè)的ListBox還可以對數(shù)據(jù)進行簡單的查詢。其它基礎(chǔ)數(shù)
103、據(jù)界面基本類似于上述界面。</p><p> 圖6.6商品基本信息流程圖</p><p> 部分代碼:private void DataSave()</p><p><b> {</b></p><p> if (AlterValue[7] == "0")</p><p&g
104、t;<b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> if (txtGoodNo.Text.Trim() == "" || txtGoodName.Text.Trim() == ""
105、|| txtGoodUnit.Text.Trim() == "" || txtGoodClass.Text.Trim() == "")</p><p><b> {</b></p><p> MessageBox.Show("請檢查,數(shù)據(jù)輸入有問題!");</p><p><
106、b> return;</b></p><p><b> }</b></p><p> Class.SqlClass sql = new 進銷存管理系統(tǒng)V3._1.Class.SqlClass();</p><p> string str = "insert into tb_Good values('&
107、quot; + txtGoodNo.Text.Trim() + "'" + ",'" + txtGoodName.Text.Trim() + "'" + ",'" + txtGoodClass.Text.Trim() + "'" + ",'" + txtGoodPinYi
108、n.Text.Trim() + "'" + ",'" + txtGoodUnit.Text.Trim() + "'" + ",'" + txtGoodLocation.Text.Trim() + "'" + ",'" + txtGoodModel.Text.Trim()
109、+ "')";</p><p> sql.inorde(str);</p><p><b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p><p> MessageB
110、ox.Show(ex.Message);</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><
111、b> try</b></p><p><b> {</b></p><p> if (txtGoodNo.Text.Trim() == "" || txtGoodName.Text.Trim() == "" || txtGoodUnit.Text.Trim() == "" || txt
112、GoodClass.Text.Trim() == "")</p><p><b> {</b></p><p> MessageBox.Show("請檢查,數(shù)據(jù)輸入有問題!");</p><p><b> return;</b></p><p><
113、b> }</b></p><p> Class.SqlClass sql = new 進銷存管理系統(tǒng)V3._1.Class.SqlClass();</p><p> string str = "update tb_Good set GoodName='" + txtGoodName.Text.Trim() + "',Go
114、odClass='" + txtGoodClass.Text + "',GoodPinYin='" + txtGoodPinYin.Text.Trim() + "',GoodUnit='" + txtGoodUnit.Text.Trim() + "',GoodLocation='" + txtGoodLocati
115、on.Text.Trim() + "',GoodModel='" + txtGoodModel.Text.Trim() + "' where GoodNo='"+txtGoodNo.Text.Trim()+"'";</p><p> sql.inorde(str);</p><p><
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于c#進銷存管理系統(tǒng)[文獻綜述]
- 進銷存管理系統(tǒng)畢業(yè)論文
- 進銷存管理系統(tǒng)畢業(yè)論文
- 進銷存管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-進銷存管理系統(tǒng)
- 基于c#進銷存管理系統(tǒng)[任務(wù)書]
- 畢業(yè)論文-- 商品進銷存管理系統(tǒng)
- 倉庫進銷存管理系統(tǒng)畢業(yè)論文
- 超市進銷存管理系統(tǒng)畢業(yè)論文
- 進銷存管理系統(tǒng)畢業(yè)論文 (2)
- 畢業(yè)論文商品進銷存管理系統(tǒng)
- 超市進銷存管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——企業(yè)進銷存管理系統(tǒng)
- 畢業(yè)論文——企業(yè)進銷存管理系統(tǒng)
- 畢業(yè)論文——企業(yè)進銷存管理系統(tǒng)
- 基于c#進銷存管理系統(tǒng)【畢業(yè)論文+文獻綜述+開題報告+任務(wù)書】
- 畢業(yè)論文——企業(yè)進銷存管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——企業(yè)進銷存管理系統(tǒng)畢業(yè)論文
- 企業(yè)進銷存管理系統(tǒng)畢業(yè)論文(設(shè)計)
- 畢業(yè)論文——進銷存管理系統(tǒng)介紹 (2)
評論
0/150
提交評論