版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 現(xiàn)代高速發(fā)展的信息時代,超市管理系統(tǒng)已是一個超市管理者與決策者不可缺少的管理工具,因此超市管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息,便捷的操作,快速的查詢手段。</p><p> 本程序是一個典型的信息管理程序,其開發(fā)過程主要包括后臺數(shù)據(jù)庫的建立以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者使用Microsoft
2、 SQL Server 2005建立起一個集數(shù)據(jù)一致性、完整性、安全性好的數(shù)據(jù)庫,而對于后者則使用Microsoft Visual Studio 2005編寫易于使用,滿足需求的運行程序。</p><p> 整個項目主要完成對超市商品的日常管理,包括進貨管理,銷售管理,庫存管理,員工管理和會員管理五個方面。在功能上系統(tǒng)可以完成對相關(guān)信息的瀏覽、查詢、添加、刪除、修改等功能。 本課題的核心之一是銷售管理、庫存管理
3、和進貨管理三者之間的聯(lián)系,同時系統(tǒng)有完整的用戶管理及權(quán)限管理功能。</p><p> 關(guān)鍵字:數(shù)據(jù)庫,控件,權(quán)限</p><p><b> Abstract</b></p><p> The development of modern high-speed information age, the supermarket manageme
4、nt system is a supermarket managers and decision makers an indispensable management tool, the supermarket management system should be able to provide sufficient information for users, easy operation, fast query tool. Thi
5、s procedure is a typical information management program, its development process, including background of the establishment of the database and front-end application development aspects. The former uses</p><p&
6、gt; Keywords: database, control, authority</p><p><b> 目錄</b></p><p> 一.引言……………………………………………………………………………………4</p><p> 1.1課題研究意義與發(fā)展前景…………………………………………………………4</p>&
7、lt;p> 1.2程序設(shè)計的目的與功能特點………………………………………………………4</p><p> 二.超市管理系統(tǒng)程序設(shè)計總體分析………………………………………………… 5</p><p> 2.1程序總體需求分析與功能需求分析……………………………………………… 5</p><p> 2.2程序設(shè)計可行性分析……………………………………………
8、………………… 6</p><p> 2.3程序設(shè)計開發(fā)環(huán)境與開發(fā)工具…………………………………………………… 7</p><p> 三.程序總體結(jié)構(gòu)設(shè)計………………………………………………………………… 10</p><p> 3.1程序結(jié)構(gòu)設(shè)計……………………………………………………………………… 10</p><p> 3.2數(shù)
9、據(jù)庫設(shè)計………………………………………………………………………… 13</p><p> 四.程序詳細設(shè)計……………………………………………………………………… 22</p><p> 4.1數(shù)據(jù)庫配置………………………………………………………………………… 22</p><p> 4.2功能模塊實現(xiàn)……………………………………………………………………… 23
10、</p><p> 五.結(jié)束語……………………………………………………………………………… 50</p><p> 六.致謝………………………………………………………………………………… 51</p><p> 七.參考文獻…………………………………………………………………………… 52</p><p><b> 引言<
11、;/b></p><p> 課題研究意義與發(fā)展前景</p><p> 超市形式在我國于20世紀90年代初期起步,現(xiàn)已成為我國零售業(yè)的一種重要形態(tài)。現(xiàn)隨著經(jīng)濟的高速發(fā)展,超市的信息化工作也在緊鑼密鼓地進行,與此同時伴隨著超市規(guī)模的不斷擴大以及各種信息流量的日益增多,其經(jīng)營管理也變得愈加復(fù)雜,而且以往在超市日常管理中,商品進貨、銷售、庫存等決策主要以經(jīng)驗為主,缺乏實時分析功能,并且伴
12、隨著商業(yè)運轉(zhuǎn)的中間環(huán)節(jié)也越來越多,因此以前的手工操作方式就不能適應(yīng)超市快速的信息發(fā)展的需要,而在計算機科學(xué)技術(shù)日益發(fā)展和成熟的今天,依靠現(xiàn)代化的計算機信息處理技術(shù)來管理超市日常工作中的各類商品及用戶的信息數(shù)據(jù),既節(jié)省了大量的人力、物力、改善了員工的工作條件,減輕了勞動強度,同時也能夠快速反映出商品的進銷存狀況和各種反饋信息分析,使管理人員快速對市場的變化做出對應(yīng)決策,加快超市的發(fā)展。從而極大地提高超市的工作效率。</p>
13、<p> 程序設(shè)計的目的與功能特點</p><p> 為了適應(yīng)日趨激烈的市場競爭,各類型的超市需要對自身的經(jīng)營狀況有充分的了解,并通過有效的管理不斷提高效率。因此,對超市整體信息的管理成為提高經(jīng)營效率的一個重要途徑。</p><p> 本超市管理程序是針對超市各種商品的進貨,庫存,銷售的出入庫登記和各種人員信息管理和查詢統(tǒng)計等方面工作而開發(fā)的管理軟件,是一個實用性的管理信息
14、程序,并針對超市日常工作的實際需要,分析了超市管理程序的功能,以商品的進貨,庫存,銷售管理及人員信息管理為重點,描述了其各子系統(tǒng)的模塊結(jié)構(gòu)設(shè)計,實現(xiàn)超市對用戶管理,進貨管理,銷售管理,庫存管理,會員管理等功能。用戶可以通過相應(yīng)的模塊,對超市中各類商品的基本情況進行增加、更新、刪除和查詢操作,同時對商品和用戶明細進行預(yù)覽及查詢,也可對使用該系統(tǒng)對用戶進行更新、刪除和查詢,,權(quán)限設(shè)置,密碼修改,等其系統(tǒng)管理功能。從而使相關(guān)人員從以往煩瑣的工
15、作解脫出來,充分體驗到信息時代的超市信息化工作給超市的日常工作所帶來的便利和快捷,體會到計算機的快速、準確、智能的強大功能。</p><p> 超市管理系統(tǒng)程序設(shè)計總體分析</p><p> 程序總體需求分析與功能需求分析</p><p><b> 總體需求分析</b></p><p> 本程序設(shè)計開發(fā)所要完成的
16、是超市管理系統(tǒng),為實現(xiàn)超市現(xiàn)代化,智能化管理,依據(jù)前期的調(diào)查分析,按照具體環(huán)境的設(shè)定,提出整體要求:</p><p> 系統(tǒng)應(yīng)基本符合超市商品管理的要求,滿足超市商品管理人員日常使用的需要,并達到操作過程中界面清晰直觀、易于操作,保證系統(tǒng)的實用性及安全性。</p><p> 系統(tǒng)采用模塊化程序設(shè)計方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護人員補充,維護。</
17、p><p> 系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)的檢索,添加、刪除、修改等操作。即實現(xiàn)用戶及會員管理,進貨管理,銷售管理,庫存管理。</p><p> 程序設(shè)計功能需求分析</p><p> 安全管理:為保證系統(tǒng)的安全性,設(shè)有兩級權(quán)限管理:系統(tǒng)管理員,用戶管理員。系統(tǒng)管理員享有最高權(quán)限,可對商品,用戶及會員進行添加,刪除,修改,查詢及瀏覽等操作。用
18、戶管理人員只能對商品進行瀏覽查看銷售信息錄入模塊的信息并修改自己的登錄密碼。</p><p> 用戶管理:系統(tǒng)管理員對理貨人員進行添加新用戶,刪除舊用戶,修改用戶信息。</p><p> 商品管理:包括進貨管理,銷售管理,庫存管理。</p><p> 進貨管理:根據(jù)銷售情況及庫存情況,制定進貨計劃,這樣可以避免盲目進貨造成商品積壓導(dǎo)致效益受損。 也可按計劃有選
19、擇性地進行入庫登記。 綜合查詢打入庫記錄及金額。</p><p> 銷售管理: 對商品各種銷售進行控制。 綜合查詢各種銷售明細記錄</p><p> 庫存管理: 綜合查詢庫存明細記錄。 庫存自動計算,以免庫存不足影響正常銷售。</p><p> 人員管理: 對員工及會員基本信息進行管理,并可以對會員進行人數(shù)統(tǒng)計。</p><p><
20、;b> 程序設(shè)計可行性分析</b></p><p> 當(dāng)要完成一個軟件管理程序開發(fā)時,就必須進入軟件生命的第一個階段,即進行程序設(shè)計可行性分析研究。因為可行性研究分析目的就是要用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決,并不是所有問題都具有簡單的解決辦法,因為許多預(yù)想的問題不能在預(yù)定的規(guī)模之內(nèi)解決,因此通過可行性研究分析可以知道某些問題實施的可能性的幾率,有無可行性的解決方法,從而判
21、定原定的開發(fā)目標和規(guī)模是否現(xiàn)實,并在定義階段較早的認識到預(yù)定開發(fā)方案的缺陷進而避免人力、物力和才力的浪費。[8]因此,可行性研究實質(zhì)上是要進行依次壓縮簡化的系統(tǒng)分析和設(shè)計的過程,對于本程序開發(fā)的目標來說應(yīng)充分體現(xiàn)為超市日常管理服務(wù)的宗旨。</p><p><b> 技術(shù)可行性分析</b></p><p> 根據(jù)前期的市場調(diào)查與對下列系統(tǒng)功能、性能及實現(xiàn)系統(tǒng)的各項所
22、需技術(shù)的約束條件的分析來看,本系統(tǒng)程序開發(fā)應(yīng)是一個集數(shù)據(jù)庫管理和查詢?yōu)橐簧淼南到y(tǒng),依據(jù)現(xiàn)有的開發(fā)技術(shù),開發(fā)硬件、開發(fā)軟件的性能要求及環(huán)境條件等來看,各項條件良好,同時,考慮給予的開發(fā)期限較為充裕,預(yù)計可以在規(guī)定期限內(nèi)完成預(yù)定功能地開發(fā)與實現(xiàn)。</p><p> 在軟件方面本程序設(shè)計采用的開發(fā)環(huán)境是Microsoft Visnal Studio 2005,采用開發(fā)語言c#編寫程序,采用SQL Server 200
23、5做后臺數(shù)據(jù)庫。在硬件方面電腦的各種配置包括輸入輸出能力,內(nèi)部存儲器和外部存儲器的容量都能滿足用戶的要求。在程序設(shè)計方面包括如下功能模塊:</p><p> 建立安全的數(shù)據(jù)庫和用戶管理。具有可靠完整的數(shù)據(jù)庫連接,實現(xiàn)用戶的權(quán)限管理。</p><p> 界面清晰直觀、易于操作。以適合超市相關(guān)人員日常維護。</p><p> 依據(jù)相關(guān)技術(shù)實現(xiàn)系統(tǒng)預(yù)計的各個模塊功能
24、。</p><p><b> 經(jīng)濟可行性分析</b></p><p> 本程序設(shè)計提高了超市的管理效率,自然提高了超市的收入。通過估算本系統(tǒng)的成本效益分析,包括估計今后的運行、維護費用,設(shè)備購置和估計新系統(tǒng)將獲得的效益來看,可知本次開發(fā)的程序設(shè)計系統(tǒng)成本低,見效快,而且長期利潤高。</p><p><b> 操作可行性分析<
25、;/b></p><p> 本套程序設(shè)計采用完全鼠標點擊操作,界面清晰直觀、易于操作。由于它能夠準確記錄、檢索和管理有關(guān)超市各類商品信息和用戶信息,幫助超市經(jīng)營者掌握和分析營銷情況,及時做出正確決策,并且便于超市相關(guān)內(nèi)部人員對進貨、庫存、銷售等管理,因而大大提高了超市的管理水平與效率。</p><p> 程序設(shè)計開發(fā)環(huán)境與開發(fā)工具</p><p><
26、b> 開發(fā)環(huán)境</b></p><p> 操作系統(tǒng):Windows XP</p><p> 開發(fā)軟件:Microsoft Visual Studio 2005</p><p> 數(shù)據(jù)庫:SQL server 2005</p><p><b> 開發(fā)語言:C#</b></p>&l
27、t;p><b> 開發(fā)工具</b></p><p> Visual Studio 2005 的問世帶來了很多改進和新增功能,它們使集成開發(fā)環(huán)境 (IDE) 給人們留下更加深刻的印象。</p><p> 在 Visual Studio .NET 中,Microsoft 將起始頁作為一種便于我們開始使用 Visual Studio 的快速而容易的方式介紹給我們
28、。它使我們可以輕松打開常用項目、創(chuàng)建新項目、找到聯(lián)機資源,以及配置 Visual Studio 配置文件</p><p> 在 Visual Studio2005 中添加的另一個的功能是 Code Analysis FxCop。很多開發(fā)人員已經(jīng)熟悉了這一靜態(tài)代碼分析工具,但它現(xiàn)在直接與 Visual Studio 集成在一起。</p><p> Visual Studio 提供了一個強
29、大的新 IDE,從而使編寫強大的應(yīng)用程序變得更快且更容易。對開發(fā)環(huán)境進行的從集成社區(qū)資源到新 ASP.NET 項目模型的更改,旨在提高開發(fā)人員的工作效率。</p><p> Visual Studio.NET 2005當(dāng)中提供了更加安全的編程模式,用來管理站點的用戶、角色及成員資格,除了提供了相應(yīng)的API,還提供了新的Web Control以及Service,方便我們編程。[2]</p><
30、p> SQL Server作為微軟公司在Windows系列平臺上開發(fā)的數(shù)據(jù)庫,是一個功能完備的數(shù)據(jù)庫管理系統(tǒng)。[3]他包括支持開發(fā)的引擎,標準的SQL語言,擴展的SQL特性,存儲過程,觸發(fā)器等功能。SQL Server具有圖形化界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。它還有豐富的編程接口工具,為用戶進行程序設(shè)計提供了更大的選擇余地,并且其05的新特性:</p><p> 全面重新設(shè)計的DTS體系結(jié)構(gòu)
31、和工具。</p><p> 引入了由管理工具和管理應(yīng)用編程接口(API)組成的集成化套件用以降低操作的復(fù)雜度。</p><p> 允許使用任何Microsoft .NET語言開發(fā)數(shù)據(jù)庫對象的能力。</p><p> 支持新的XML數(shù)據(jù)類型。</p><p> 新增查詢類型和在事務(wù)中進行錯誤處理的能力。</p><p
32、> 采用高級語言編寫數(shù)據(jù)庫對象。</p><p><b> 支持數(shù)據(jù)庫鏡像。</b></p><p> 增加儲存引擎的改進。</p><p><b> 開發(fā)語言</b></p><p> C#是 Visual Studio .NET 中引入的一種新的編程語言。C# 從 C 和 C++
33、 演變而來,是一種簡單、現(xiàn)代、類型安全和面向?qū)ο蟮恼Z言。設(shè)計 C# 是為了建立運行于 .NET 平臺上的、范圍廣泛的企業(yè)級應(yīng)用程序。用 Visual C# 編寫的代碼被編譯為托管代碼,這意味著它將受益于公共語言運行庫的服務(wù)。這些服務(wù)包括:語言互操作性、垃圾回收、增強的安全性以及改進的版本支持。 [4]</p><p> 在 Visual Studio .NET 中,Visual C# 完全得到項目模板、設(shè)計器、
34、屬性頁、代碼助理、對象模型和其他開發(fā)環(huán)境功能的支持。[6]C#主要提供了以下幾個主要優(yōu)點:</p><p> 一致性:C#通過讓你把該語言中的每一種類型都看作一個對象從而實現(xiàn)了類型系統(tǒng)的統(tǒng)一。</p><p> 現(xiàn)代性:C#用于處理錯誤的內(nèi)置模式更豐富。C#實現(xiàn)了類型安全以保證應(yīng)用程序運行時更加穩(wěn)定,同時,類型安全也使代碼更具可讀性。</p><p> 可伸縮
35、性:C#通過把類型的聲明和定義結(jié)合起來去除了這種常常令人頭痛的頭文件包含,它還可以直接引進和發(fā)布COM+元數(shù)據(jù),使得逐層編譯變得更容易。</p><p><b> 類型安全性</b></p><p> 兼容性:APTs的四種類型在Windows平臺上是公用的,而C#對這四種類型提供了完全的支持。在C#中,老式的C語言APIs接口也得到了完全的支持。C#提供了對標準
36、的COM和OLE Automation APIs的透明訪問,并且支持COM+運行期的所有數(shù)據(jù)類型。</p><p><b> 程序總體結(jié)構(gòu)設(shè)計</b></p><p><b> 程序結(jié)構(gòu)設(shè)計</b></p><p><b> 功能模塊設(shè)計</b></p><p><
37、b> 用戶登錄模塊</b></p><p> 啟動程序后,首先輸入用戶名與密碼,若用戶名或密碼正確則進入程序主界面,否則程序會給出出錯的信息提示。</p><p><b> 用戶管理模塊</b></p><p><b> 用戶管理子模塊</b></p><p> 系統(tǒng)管理
38、員可以對用戶權(quán)限進行管理,同時對用戶進行添加新用戶,刪除用戶,修改用戶信息;本模塊對普通用戶不可見。</p><p><b> 修改密碼子模塊</b></p><p> 所有登錄的人員都對自己的密碼進行修改。</p><p> 商品管理模塊(系統(tǒng)管理員可以操作,普通用戶不可見)</p><p><b>
39、 進貨管理子模塊</b></p><p> 可以添加新貨的信息,刪除貨品信息,修改貨品信息;同時錄入進貨信息是更新庫存信息。</p><p><b> 庫存管理子模塊</b></p><p> 可以采用條件查詢得到相應(yīng)庫存商品信息,從而依據(jù)銷售及庫存情況制定進貨計劃。</p><p><b>
40、 銷售管理子模塊</b></p><p> 負責(zé)為所有新商品銷售制定計劃;包括促銷打折,商品價格制定等。</p><p><b> 銷售錄入管理模塊</b></p><p> 所有用戶都可以操作??梢詾g覽銷售的商品的信息。在每次商品交易后,會更新商品庫存信息及會員消費信息。</p><p><b
41、> 會員管理模塊</b></p><p><b> 會員管理子模塊</b></p><p> 系統(tǒng)管理員可以對會員信息進行管理;包括增加新會員,刪除會員,修改會員信息及瀏覽。</p><p><b> 會員信息查詢子模塊</b></p><p> 可以通過所給的查詢條件得
42、到相應(yīng)會員的信息,并可以統(tǒng)計目前超市會員人數(shù),一直與制定銷售策略。</p><p><b> 程序設(shè)計流程圖</b></p><p> 程序流程圖-管理員權(quán)限如圖所示:</p><p> 圖3-1 程序流程圖-管理員</p><p> 程序流程圖-銷售人員權(quán)限如圖所示:</p><p>
43、 圖3-2 程序設(shè)計流程圖-理貨員</p><p> 圖3-2程序流程圖-銷售人員</p><p><b> 程序設(shè)計功能圖</b></p><p> 超市商品程序設(shè)計是一個典型的信息管理程序,基于對前面的一系列系統(tǒng)功能分析,同時考慮到本程序?qū)嶋H的設(shè)計特點,從而涉及實現(xiàn)了程序使用者對商品管理的完整的操作管理流程的功能圖。</p>
44、;<p> 圖3-3 程序設(shè)計總功能圖</p><p><b> 數(shù)據(jù)庫設(shè)計</b></p><p> 由于本程序設(shè)計是典型的可視化的信息管理程序,其開發(fā)主要包括數(shù)據(jù)庫的建立及應(yīng)用程序的編寫。關(guān)于數(shù)據(jù)庫的構(gòu)建主要包括數(shù)據(jù)庫需求分析,概念結(jié)構(gòu)設(shè)計,數(shù)據(jù)結(jié)構(gòu)設(shè)計。</p><p><b> 數(shù)據(jù)庫需求分析</b
45、></p><p> 主要是收集基本數(shù)據(jù)及確定數(shù)據(jù)的處理要求,需求分析主要解決如下問題:[1]</p><p> 數(shù)據(jù)要求:用戶需要從數(shù)據(jù)庫中獲取什么數(shù)據(jù),并決定在數(shù)據(jù)庫中存儲那些數(shù)據(jù)。</p><p> 操作要求:明確用戶對數(shù)據(jù)的操作要求,從而確定數(shù)據(jù)之間的關(guān)系。</p><p> 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(E-R圖)</p&
46、gt;<p> 概念模型是對于信息世界的建模,是現(xiàn)實世界到信息世界的抽象,是數(shù)據(jù)庫設(shè)計人員和用戶之間進行交流的語言。</p><p> 概念設(shè)計的目的是要確定系統(tǒng)的概念模型,因為概念模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ),所以概念設(shè)計是數(shù)據(jù)庫設(shè)計的關(guān)鍵。</p><p> 根據(jù)上述的數(shù)據(jù)庫及程序總體分析,對E-R圖進行逐步細化和設(shè)計。</p><p>
47、用戶實體描述E-R圖</p><p> 圖3-4 用戶實體E-R圖</p><p> 會員實體描述E-R圖</p><p> 圖3-5 會員實體E-R圖</p><p> 進貨記錄實體描述E-R圖</p><p> 圖3-6 進貨記錄實體E-R圖</p><p> 銷售管理實體描述E
48、-R圖</p><p> 圖3-7 售管理實體E-R圖</p><p> 銷售錄入實體描述E-R圖</p><p> 圖3-8 銷售錄入實體E-R圖</p><p> 圖3-8 實體關(guān)系描述圖</p><p> 圖3-8 實體關(guān)系描述(E-R圖)</p><p><b>
49、數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)設(shè)計</b></p><p> 依據(jù)功能模塊設(shè)計,數(shù)據(jù)庫概念設(shè)計,對于本程序數(shù)據(jù)庫,最終包括用戶表(UserTable),會員表(MarketMember),進貨記錄表(Input),銷售管理表(SaleMassage),銷售錄入表(Sale)。</p><p> 本程序數(shù)據(jù)庫名稱:MarketMagSys</p><p><b&
50、gt; 數(shù)據(jù)庫表結(jié)構(gòu)如下:</b></p><p> 表3-1 用戶表(User Table)</p><p> 表3-2 會員表(MarketMember)</p><p> 表3-3 進貨記錄表(Input)</p><p> 表3-4 銷售管理表(SaleMassage)</p><p>
51、 表3-5 銷售錄入表(Sale)</p><p><b> 四.程序詳細設(shè)計</b></p><p><b> 數(shù)據(jù)庫配置</b></p><p> 本程序設(shè)計使用SQL server 2005數(shù)據(jù)庫實現(xiàn)后臺管理。因此用SQL server 2005.NetFramework數(shù)據(jù)提供程序的sqlConnection
52、 對象連接數(shù)據(jù)庫。由于在安裝SQL server 2005數(shù)據(jù)庫時系統(tǒng)會檢查配置時需要.net framework3.0的支持,否則在會安裝報錯,所以最好先安裝Microsoft Visual Studio 2005</p><p> 在安裝SQL server 2005時需要注意:</p><p> 在指定賬號認證模式和設(shè)置步驟時,要采用混合模式,本程序中用戶名:sa,密碼:123
53、</p><p> 在SQL server 2005數(shù)據(jù)庫安裝完成后為了讓其他應(yīng)用程序訪問數(shù)據(jù)庫,要做如下設(shè)置:打開配置工具-〉SQL Server外圍應(yīng)用配置器-〉服務(wù)和連接的外圍應(yīng)用配置器,選擇MSSQLSERVER-〉DATABASE ENGINE-〉遠程連接,選擇本地連接和遠程連接,同時使用TCP/IP和named pipes 如圖4-2</p><p> 圖4-1服務(wù)和連接的
54、外圍應(yīng)用配置器</p><p><b> 功能模塊實現(xiàn)</b></p><p><b> 用戶登錄模塊</b></p><p><b> 用戶登錄界面如下:</b></p><p><b> 圖4-2用戶登錄</b></p><
55、p> 圖4-3 用戶名或密碼錯誤提示</p><p> 界面功能說明:為用戶進入此程序系統(tǒng)提供的登錄窗口。程序首先進行用戶輸入的用戶名和密碼與數(shù)據(jù)庫中的相應(yīng)字段信息進行比較,判斷其正確性,然后依據(jù)用戶名判斷其相應(yīng)的用戶權(quán)限,若一致,則打開被屏蔽的用戶操作界面,依據(jù)其用戶權(quán)限進入相應(yīng)的操作界面。</p><p> 功能實現(xiàn)的函數(shù)說明:在本功能中通過對Connection對象中的屬
56、性ConnectionString 設(shè)置來提供登錄數(shù)據(jù)庫和指向特定數(shù)據(jù)庫的所需信息。設(shè)置代碼如下:</p><p> private string connectionString = "workstation id=localhost;Integrated Security=SSPI;database=MarketMagSys";</p><p> 通過定義事件方
57、法private void loginbutt_Click()實現(xiàn)判斷用戶名與密碼是 否匹配及判斷向相應(yīng)用戶權(quán)限功能。</p><p> 界面主要功能代碼詳細設(shè)計:</p><p> private void loginbutt_Click(object sender, System.EventArgs e)</p><p> { for (int i=0
58、;i<LogTable.Rows.Count;i++)</p><p> { this.LogRow = LogTable.Rows[i];//將界面輸入的用戶名與密碼與數(shù)據(jù)庫中字段進行比較</p><p> if(LogRow[1].ToString().Trim()==this.UserNameTxt.Text.ToString().Trim()&&LogRo
59、w[2].ToString().Trim()==this.PwdTxt.Text.ToString().Trim())</p><p> { CanLogin = true;</p><p> strUser = LogRow[1].ToString().Trim();</p><p> strUserRole = LogRow[3].ToString().T
60、rim();</p><p> strUserId=LogRow[0].ToString().Trim();</p><p> this.Close();</p><p><b> return;</b></p><p><b> }</b></p><p><
61、b> }</b></p><p> MessageBox.Show( "您輸入的用戶號或密碼不正確!");</p><p><b> return;</b></p><p><b> }</b></p><p><b> 程序設(shè)計主界面<
62、;/b></p><p><b> 程序主界面如下:</b></p><p><b> 圖4-4程序主界面</b></p><p> 界面功能說明:用戶在登錄窗口登錄成功后進入此界面,在此依據(jù)主界面菜單作為用戶操作導(dǎo)航,用戶進行相應(yīng)操作。</p><p> 功能實現(xiàn)的方法說明:通過定義
63、方法private void MainFrm_Load()實現(xiàn)對用戶權(quán)限控制。通過定義事件方法private void UserMag_Click(),private void ExitSys_Click(),private void QryStatMember_Click(),private void chgpwd_Click()private void NewSell_Click(),private void InputMerch_
64、Click(),private void QryMerchStore_Click(),private void SelSetlMag_Click(),private void EditMem_Click()等實現(xiàn)界面菜單各命令按鈕功能。</p><p> 如:實現(xiàn)用戶管理菜單代碼如下:(其他菜單實現(xiàn)方法同下)</p><p> private void UserMag_Click(ob
65、ject sender, System.EventArgs e)</p><p><b> { try</b></p><p> { UserMag UserM =new UserMag(); }</p><p> catch(Exception Ex)</p><p> { MessageBox.Show(Ex
66、.ToString());}</p><p><b> }</b></p><p> 界面主要功能代碼詳細設(shè)計:</p><p> static void Main() </p><p> { Login log = new Login();</p><p> log.ShowDialo
67、g();</p><p> if (Login.CanLogin==true)</p><p> { Application.Run(new MainFrm());}</p><p><b> }</b></p><p> 設(shè)置不同級別相應(yīng)的主菜單狀態(tài)代碼如下:</p><p> pri
68、vate void MainFrm_Load(object sender, System.EventArgs e)</p><p> { this.MainstatusBar.Text = " 當(dāng)前用戶: " + Login.strUser+ " 今天是:"+DateTime.Today;;</p><p> if ( Login.str
69、UserRole == "經(jīng)理")//管理員級別所有菜單可見</p><p> { this.UserMag.Enabled = true;</p><p> this.MerchStore.Enabled = true;</p><p> this.SelSetlMag.Enabled = true;</p><p&g
70、t; this.InputMerch.Enabled = true;</p><p> this.CountMember.Enabled = true;</p><p> this.EditMem.Enabled = true;</p><p> this.NewSell.Enabled = true;</p><p><b&g
71、t; }</b></p><p> else if(Login.strUserRole == "銷售人員")</p><p> { this.NewSell.Enabled = true;}</p><p><b> }</b></p><p><b> 用戶管理模塊
72、</b></p><p><b> 用戶管理界面如下:</b></p><p> 圖4-5 用戶管理界面</p><p> 圖4-6 詢問信息對話框</p><p> 界面功能說明:此模塊只對管理員可見。管理員可以對用戶的信息進行瀏覽,添加,刪除,修改操作。管理員進行添加、修改時,程序會自動將信息插入
73、到后臺數(shù)據(jù)庫保存。</p><p> 功能實現(xiàn)的方法說明:使用控件的DateBings屬性調(diào)用方法Add()實現(xiàn)一個空間與一個數(shù)據(jù)元素的數(shù)據(jù)綁定。代碼如下: this.UserId.DataBindings.Add("Text", DGtable, "用戶編碼");其他控件與其數(shù)據(jù)進行綁定代碼同上。</p><p> 通過使用數(shù)據(jù)對象DateGr
74、idView來顯示網(wǎng)格中自定義的數(shù)據(jù),實現(xiàn)方法是為數(shù) 據(jù)對象添加數(shù)據(jù)源:選定相應(yīng)的服務(wù)器名,找到匹配的數(shù)據(jù)庫,從數(shù)據(jù)庫中找到要顯示的數(shù)據(jù)庫表中的字段。</p><p> 界面主要功能代碼詳細設(shè)計:</p><p> 刪除用戶按鈕實現(xiàn)的代碼如下:</p><p> private void DelUserbutt_Click(object sender,
75、System.EventArgs e)</p><p> { //顯示與用戶的詢問窗口代碼如下:</p><p> if (MessageBox.Show("確實要刪除這條記錄嗎?","詢問",MessageBoxButtons.YesNo) == DialogResult.Yes) </p><p><b>
76、 { try</b></p><p> { if (UserAmend.Count > 0)</p><p> UserAmend.RemoveAt(UserAmend.Position);</p><p><b> else</b></p><p> { MessageBox.Show(&qu
77、ot;沒有可以刪除的數(shù)據(jù)","提示",MessageBoxButtons.OK,MessageBoxIcon.Error); }</p><p><b> }</b></p><p> catch(Exception express)</p><p> { MessageBox.Show(express.T
78、oString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error); }</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><
79、;p> 提交信息按鈕實現(xiàn)的代碼如下:</p><p> private void SubEditButt_Click(object sender, System.EventArgs e)</p><p> { if (this.UserId.Text.Trim() == "") </p><p> { MessageBox.Show
80、("用戶編號不能為空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);</p><p><b> return;</b></p><p><b> }</b></p><p> 判斷“用戶姓名不能為空”,“用戶權(quán)限不能為空”的
81、代碼設(shè)計同上(代碼略)</p><p> UserAmend.EndCurrentEdit();</p><p> if (DGtable.GetChanges() != null)</p><p><b> { try</b></p><p> { this.UserMagsqlDataAdapter.Upd
82、ate(DGtable);}</p><p> catch(Exception express)</p><p> { MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);</p><p> this.DGtable.Reje
83、ctChanges(); }</p><p><b> }</b></p><p><b> return;</b></p><p><b> }</b></p><p><b> 添加新用戶</b></p><p> 添
84、加新用戶界面如下:</p><p> 圖4- 7添加新用戶</p><p> 圖4-8 錯誤提示信息對話框</p><p> 界面功能說明:在用戶管理界面中點擊添加新用戶按鈕時,會鏈接到此界面。在添加完用戶信息時,系統(tǒng)會將數(shù)據(jù)插入數(shù)據(jù)庫用戶表中保存,并用戶可以在用戶管理界面的主明細表中瀏覽到添加的信息。如果輸入信息不符合字段設(shè)置的規(guī)定,則提示相應(yīng)的錯誤信息。&
85、lt;/p><p> 功能實現(xiàn)的方法說明:在本功能中通過對Connection對象中的屬性ConnectionString 設(shè)置來提供登錄數(shù)據(jù)庫和指向特定數(shù)據(jù)庫的所需信息。</p><p> private SqlConnection Connection1 = new SqlConnection("workstationid=localhost;database=MarketM
86、agSys;ConnectTimeout=30;Trusted_Connection=yes") ;</p><p> 界面主要功能代碼詳細設(shè)計:</p><p> 通過定義下列事件實現(xiàn)添加新用戶命令按鈕</p><p> private void AddUserbutt_Click(object sender, System.EventArgs e
87、)</p><p><b> { try</b></p><p> { if (this.UserId.Text != "" && this.UserName.Text != "" && this.UserPassword.Text != "" && t
88、his.RoleList.Text != "")</p><p> { if (this.UserPassword.Text == this.ConPwd.Text)</p><p> 使用SQL的插入語句向用戶表中插入數(shù)據(jù)代碼如下:</p><p> NewUserCommand= "insert into UserTabl
89、e(UserID,UserName,UserPW,UserStyle)values(" + "'" this.UserId.Text.ToString().Trim() + "'" + "," + "'" this.UserName.Text.ToString().Trim() + "'" + &
90、quot;," + "'" + this.UserPassword.Text.ToString().Trim() + "'" + "," + "'" + this.RoleList.Text.ToString().Trim() + "'" + ")";</p>&
91、lt;p> SqlCommand1 = new SqlCommand(NewUserCommand, Connection1);</p><p> //通過ExecuteNonQuery()函數(shù)的返回值確定是否插入成功代碼如下:</p><p> int Succnum = SqlCommand1.ExecuteNonQuery();</p><p>
92、 if (Succnum > 0) MessageBox.Show("錄入成功");</p><p> this.UserPassword.Text = "";</p><p> this.ConPwd.Text = "";</p><p> this.UserId.Text = "&
93、quot;;</p><p> this.UserName.Text= "";</p><p><b> }</b></p><p><b> else</b></p><p> { MessageBox.Show("兩次用戶密碼輸入不一致!", &q
94、uot;提示", MessageBoxButtons.OK, MessageBoxIcon.Error);</p><p> this.UserPassword.Text = "";</p><p> this.ConPwd.Text = "";</p><p><b> return;</b&
95、gt;</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p> { MessageBox.Show("用戶編號、姓名、密碼、權(quán)限不能為空!", "提示&quo
96、t;, MessageBoxButtons.OK, MessageBoxIcon.Error);</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p> catch (Excepti
97、on ex)</p><p> {this.UserPassword.Text = "";</p><p> this.ConPwd.Text = "";</p><p> this.UserId.Text = "";</p><p> this.UserName.Text
98、= "";</p><p> MessageBox.Show("輸入錯誤請重試!錯誤原因:"+ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);</p><p><b> return;</b></p><
99、;p><b> }</b></p><p><b> }</b></p><p><b> 修改密碼</b></p><p><b> 修改密碼界面如下:</b></p><p><b> 圖4-9 修改密碼</b>&
100、lt;/p><p> 圖4-10 修改密碼錯誤提示信息</p><p> 界面功能說明:此功能對管理員及普通用戶都可見。用戶在登錄后可以對自己的密碼進行修改。程序此時檢驗確認兩次新密碼輸入一致,若一致,提交到數(shù)據(jù)庫用戶表中,否則,則提示密碼錯誤并重新輸入。</p><p> 界面主要功能代碼詳細設(shè)計:</p><p> 通過定義下列事件實
101、現(xiàn)修改密碼命令按鈕。</p><p> private void Chgbutt_Click(object sender, System.EventArgs e)</p><p><b> { try</b></p><p> { if(this.NewPassword.Text==this.ConPwd.Text)</p>
102、<p> { SqlConnect1.Open();</p><p> SqlCommand cmd=cn.CreateCommand();</p><p> //SQL語句的修改命令完成密碼修改功能</p><p> cmd.CommandText="update userTable Set UserPW='"+Ne
103、wPassword.Text.ToString().Trim()+"'"+"where UserId='"+Login.strUserId+"'"; </p><p> cmd.ExecuteNonQuery();</p><p> MessageBox.Show("修改成功!",
104、"提示", MessageBoxButtons.OK);</p><p><b> }</b></p><p><b> else</b></p><p> { MessageBox.Show("輸入錯誤請重試!", "提示", MessageBoxButt
105、ons.OK, MessageBoxIcon.Error);}</p><p><b> }</b></p><p> catch (Exception){ }</p><p><b> }</b></p><p><b> 商品管理模塊</b></p>
106、<p><b> 進貨管理</b></p><p><b> 進貨管理界面如下:</b></p><p> 圖4-11 進貨管理</p><p> 界面功能說明:在此界面用戶可以對商品的進貨記錄進行各種增加,刪除,修改等操作,在鼠標單擊命令按鈕的同時,數(shù)據(jù)完成在前臺界面與后臺數(shù)據(jù)庫之間的數(shù)據(jù)傳遞。在對此界
107、面操作后可以在庫存管理界面查詢到所有與進貨相匹配的數(shù)據(jù)。</p><p> 功能實現(xiàn)的方法說明:在此首先通過使用控件的DateBings屬性調(diào)用方法Add()實現(xiàn)一個空間與一個數(shù)據(jù)元素的數(shù)據(jù)綁定。代碼如下:</p><p> this.InputId.DataBindings.Add("Text", FinishStockdtable, "進貨編號&quo
108、t;);</p><p> FinishStockCurrenAmend = (CurrencyManager) BindingContext[FinishStockdtable]</p><p> 其他控件與其數(shù)據(jù)之間的數(shù)據(jù)綁定功能實現(xiàn)方法同上。</p><p> 界面主要功能代碼詳細設(shè)計:</p><p> 通過定義下列事件實現(xiàn)
109、每個tool_button命令按鈕功能。</p><p> private void EditMerchInfoTool_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)</p><p> 實現(xiàn)“新紀錄”按鈕功能代碼如下:</p><p> { if (
110、e.Button.ToolTipText == "新記錄")</p><p> { FinishStockCurrenAmend.AddNew();</p><p><b> return;}</b></p><p> 實現(xiàn)“刪除記錄”按鈕功能代碼如下:</p><p> if (e.Butt
111、on.ToolTipText == "刪除記錄")</p><p> { if (MessageBox.Show("確實要刪除這條記錄嗎?","詢問",MessageBoxButtons.YesNo) == DialogResult.Yes)</p><p><b> { try</b></p>
112、;<p> { if (FinishStockCurrenAmend.Count > 0)</p><p> FinishStockCurrenAmend.RemoveAt(FinishStockCurrenAmend.Position);</p><p><b> else</b></p><p> { Messa
113、geBox.Show("沒有可以刪除的數(shù)據(jù)","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);}</p><p><b> }</b></p><p> catch(Exception express)</p><p> { MessageBox.Sh
114、ow(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);}</p><p><b> return;}</b></p><p><b> }</b></p><p> //實現(xiàn)“保存修改”按鈕功能代碼如下:<
115、/p><p> if (e.Button.ToolTipText == "保存修改")</p><p> { if (this.InputNumber.Text.Trim() == "")//對每一字段的錯誤都會彈出提示信息</p><p> { MessageBox.Show("進貨數(shù)量不能為空!",&
116、quot;提示",MessageBoxButtons.OK,MessageBoxIcon.Error);</p><p><b> return;}</b></p><p> if (this.Price.Text.Trim()=="")</p><p> { MessageBox.Show("商品
117、單價不能為空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);</p><p><b> return;}</b></p><p> if (this.Sum.Text.Trim() == "") </p><p> { MessageB
118、ox.Show("總額不能為空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);</p><p><b> return;}</b></p><p> if (this.InputDate.Text.Trim()=="")</p><
119、p> { MessageBox.Show("進貨日期不能為空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);</p><p><b> return;}</b></p><p> if (this.OpertionMan.Text.Trim() == "
120、")</p><p> { MessageBox.Show("經(jīng)手人不能為空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);</p><p><b> return;}</b></p><p> FinishStockCurrenAme
121、nd.EndCurrentEdit();</p><p> if (FinishStockdtable.GetChanges() != null)</p><p><b> { try</b></p><p> { this.FinishStocksqlDataAdapter.Update(FinishStockdtable);}//使用
122、修改語句完成修改提交功能</p><p> catch(Exception express)</p><p> { MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);</p><p> this.FinishStockdtab
123、le.RejectChanges();}</p><p><b> }</b></p><p><b> return;}</b></p><p> 實現(xiàn)“取消修改”命令按鈕功能代碼如下:</p><p> if (e.Button.ToolTipText == "取消修改&quo
124、t;)</p><p><b> { try</b></p><p> { FinishStockCurrenAmend.CancelCurrentEdit(); }</p><p> catch(Exception express)</p><p> { MessageBox.Show(express
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超市管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)-畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文
- 超市管理系統(tǒng)——畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文 (3)
- 超市管理系統(tǒng)畢業(yè)論文 (2)
- 超市管理系統(tǒng)設(shè)計畢業(yè)論文
- 超市管理系統(tǒng)畢業(yè)論文2
- 超市管理系統(tǒng)畢業(yè)論文3
- 超市管理系統(tǒng)畢業(yè)論文12
- 超市管理畢業(yè)論文
- 超市信息管理系統(tǒng)畢業(yè)論文
- 超市商品管理系統(tǒng)畢業(yè)論文
- 【畢業(yè)論文】 超市運作管理系統(tǒng)
- 畢業(yè)論文超市物品管理系統(tǒng)
- 畢業(yè)論文范文——超市管理系統(tǒng)
- 計算機畢業(yè)論文--- 超市管理系統(tǒng)
- 畢業(yè)論文-超市進存銷管理系統(tǒng)
評論
0/150
提交評論