c#課設(shè) 超市管理系統(tǒng)
《c#課設(shè) 超市管理系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《c#課設(shè) 超市管理系統(tǒng)(14頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、目錄 第1章 課程設(shè)計(jì)目的與要求 1 1.1 課程設(shè)計(jì)目的 1 1.2 課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境 1 1.3 課程設(shè)計(jì)的預(yù)備知識(shí) 1 1.4 課程設(shè)計(jì)要求 1 第2章 課程設(shè)計(jì)內(nèi)容 2 2.1 系統(tǒng)功能設(shè)計(jì) 2 2.2 系統(tǒng)詳細(xì)設(shè)計(jì) 3 2.3 數(shù)據(jù)庫訪問技術(shù) 8 第3章 課程設(shè)計(jì)總結(jié) 12 參考文獻(xiàn) 13 第1章 課程設(shè)計(jì)目的與要求 1.1 課程設(shè)計(jì)目的 本課程的課程設(shè)計(jì)實(shí)際是學(xué)生學(xué)習(xí)完《基于 C/S 客戶端程序設(shè)計(jì)》課程后,進(jìn)行的 一次全面的綜合訓(xùn)練,其目的在于加深對(duì)客戶端程序設(shè)計(jì)基本知識(shí)的理解,掌握運(yùn)用 c #開發(fā)應(yīng)用程序的基本方法及基本技巧。
2、 1.2 課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境 硬件要求能運(yùn)行 Windows 9.X 以上操作系統(tǒng)的微機(jī)系統(tǒng)。 軟件: Microsoft Visual C# 2005+SQL Server 2000 1.3 課程設(shè)計(jì)的預(yù)備知識(shí) 熟悉C#程序設(shè)計(jì)的基本語法知識(shí)及常用技巧。使用C#連接數(shù)據(jù)庫的方法。 1.4 課程設(shè)計(jì)要求 按課程設(shè)計(jì)指導(dǎo)書提供的課題,每個(gè)小組設(shè)計(jì)一個(gè)完整的管理系統(tǒng)應(yīng)用程序。要求 根據(jù)規(guī)定設(shè)計(jì)系統(tǒng)的具體要求,按照應(yīng)用程序的設(shè)計(jì)步驟和C#的基本知識(shí)應(yīng)用程序的 分析與實(shí)現(xiàn)。應(yīng)根據(jù)基本學(xué)時(shí)分配合理安排設(shè)計(jì)時(shí)間,并獨(dú)立完成各方面的設(shè)計(jì)。選擇 同一題目的同學(xué),可以共同協(xié)作完成一個(gè)應(yīng)用程序的開發(fā)
3、任務(wù)。要求書寫詳細(xì)的設(shè)計(jì)說 明書,對(duì)有復(fù)雜的代碼段和程序段的部分,應(yīng)畫出程序流程圖,寫出全部的代碼。在界 面設(shè)計(jì)中,需畫出每個(gè)窗體的布局,進(jìn)行屬性說明,杜絕雷同。 第2章 課程設(shè)計(jì)內(nèi)容 2.1 系統(tǒng)功能設(shè)計(jì) 隨著我國信息技術(shù)和經(jīng)濟(jì)的發(fā)展,計(jì)算機(jī)已經(jīng)被應(yīng)用在各個(gè)領(lǐng)域。計(jì)算機(jī)給人們的 生活帶來了便利的同時(shí)還需要開發(fā)相應(yīng)的管理系統(tǒng)。目前,農(nóng)民的生活水品有了很大的 提高,在農(nóng)村當(dāng)中很多的雜貨店往中小型超市發(fā)展的趨勢(shì)日益明顯,但是在實(shí)際中農(nóng)村 里面很多超市的管理還是依靠人工來管理,給日常的超市管理帶來了很多麻煩。所以建 立這樣一個(gè)超市管理系統(tǒng)來幫助農(nóng)村超市的管理,去取代原有的人工管理,提高辦事效
4、率。 2.1.1 系統(tǒng)功能分析 本小組要建立的是一個(gè)通用性較強(qiáng)并且實(shí)用的用以提高超市管理效率的信息化系 統(tǒng),其中包含會(huì)員管理,商品管理,商品銷售管理系統(tǒng),庫存管理系統(tǒng),系統(tǒng)設(shè)置等子 模塊。超市管理系統(tǒng)是一種基于數(shù)據(jù)庫管理的系統(tǒng),用于管理超市的商品,會(huì)員信息。 本系統(tǒng)的建成無疑會(huì)為員工收銀和高層管理提供極大的幫助。使用該系統(tǒng)之后,倉庫管 理人員可以管理庫存商品量,進(jìn)貨數(shù)量。管理人員可以對(duì)員工進(jìn)行考勤和工資管理,還 可以對(duì)會(huì)員進(jìn)行會(huì)員折扣,會(huì)員積分管理。收銀員可以輕松使用該系統(tǒng)進(jìn)行收銀操作。 另外本系統(tǒng)還可以對(duì)一個(gè)時(shí)間段的銷售量給出一些統(tǒng)計(jì),給出統(tǒng)計(jì)表格,以便高層人員 全面掌握整個(gè)超市的運(yùn)作情
5、況,從而做出更符合實(shí)際的決定。 本系統(tǒng)的宗旨是提高超市管理工作的效率,減少相關(guān)人員的工作量,其人性化的設(shè) 計(jì)使超市管理工作變得更加輕松并且高效。 具體功能: 基本收銀:條碼輸入、小票打??; 會(huì)員管理:會(huì)員信息查詢、會(huì)員信息維護(hù); 員工管理:打卡上班、工資查詢、顧客退貨; 商品管理:商品關(guān)系、庫存管理、進(jìn)貨管理; 高層數(shù)據(jù)管理:修改價(jià)格和折扣、銷售記錄報(bào)表。 2.1.2 系統(tǒng)功能模塊設(shè)計(jì) 功能模塊是指數(shù)據(jù)說明、可執(zhí)行語句等程序元素的集合,它是指單獨(dú)命名的可通過 名字來訪問的過程、函數(shù)、子程序或宏調(diào)用。功能模塊化是將程序劃分成若干個(gè)功能模 塊,每個(gè)功能模塊完成了一個(gè)子功能,再 軟件結(jié)構(gòu)圖
6、示 把這些功能模塊總起來組成一個(gè)整體。以滿足所要求的整個(gè)系統(tǒng)的功能。功能模塊化的根據(jù)是,如果一個(gè)問題有多個(gè)問題組合而成,那么這個(gè)組合問題的復(fù)雜程度將大于 分別考慮這個(gè)問題時(shí)的復(fù)雜程度之和。這個(gè)結(jié)論使得人們樂于利用功能模塊化方法將復(fù) 雜的問題分解成許多容易解決的局部問題。功能模塊化方法并不等于無限制地分割軟件, 因?yàn)殡S著功能模塊的增多,雖然開發(fā)單個(gè)功能模塊的工作量減少了,但是設(shè)計(jì)功能模塊 間接口所需的工作量也將增加,而且會(huì)出現(xiàn)意想不到的軟件缺陷。因此,只有選擇合適 的功能模塊數(shù)目才會(huì)使整個(gè)系統(tǒng)的開發(fā)成本最小。 圖 2 . 1 系統(tǒng)功能模塊圖 2.2 系統(tǒng)詳細(xì)設(shè)計(jì) 2.2.1 登陸
7、模塊設(shè)計(jì) 1.界面設(shè)計(jì) 通過登錄界面進(jìn)入系統(tǒng)界面,使用到標(biāo)簽控件,文本框,以及按鈕實(shí)現(xiàn)登錄與退出 的功能。 圖 2.2 超市管理系統(tǒng)登錄模塊界面視圖 2.代碼設(shè)計(jì) 通過對(duì)按鈕控件的代碼設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)登錄與退出。以下是窗體與按鈕部分代碼。 public Form1() { InitializeComponent(); this.myConnection = new SqlConnection("workstation id =localhost;Integrated Security =SSPI;database=MarketSys"); this.da = new SqlDa
8、taAdapter("SELECT *FROM SyUser", myConnection); this.myConnection.Open(); this.ds.Clear(); this.da.Fill(ds, "SyUser"); this.LogTable = ds.Tables[0]; this.myConnection.Close(); } private void Form1_Load(object sender, EventArgs e) { groupBox1.BackColor = Color.Transparent; } private void but
9、ton2_Click(object sender, EventArgs e) { this.Close(); } private void button1_Click(object sender, EventArgs e) { for (int i = 0; i < LogTable.Rows.Count; i++) { this.LogRow = LogTable.Rows[i]; if (LogRow[1].ToString().Trim() == this.textBox1.Text.ToString().Trim() && LogRow[2].ToString().Tr
10、im() == this.textBox2.Text.ToString().Trim()) { strUser = LogRow[1].ToString().Trim(); strUserRole = LogRow[3].ToString().Trim(); strUserId = LogRow[0].ToString().Trim(); this.Visible=false ; MarketSy ms = new MarketSy(); ms.ShowDialog(); return; } } MessageBox.Show("您輸入的密碼錯(cuò)誤!"); return; }
11、2.2.2 會(huì)員管理模塊設(shè)計(jì) 1.界面設(shè)計(jì) 進(jìn)入會(huì)員信息管理系統(tǒng)界面,使用到標(biāo)簽控件(10 個(gè)),文本框(9 個(gè)), dataGridViewl 控件(1),dataGrid 控件(1 個(gè)),NumberM 控件(1 個(gè)),toolBar 控件(1 個(gè)),toolBarlButton 控件(1 個(gè)),dateTimePicker 控件(1 個(gè))以 及按鈕(2 個(gè))實(shí)現(xiàn)會(huì)員信息的維護(hù)與會(huì)員信息查詢的功能。 圖 2.3 超市管理系統(tǒng)會(huì)員模塊界面視圖 2.代碼設(shè)計(jì) 通過對(duì)界面設(shè)計(jì)對(duì)各控件進(jìn)行代碼設(shè)計(jì)實(shí)現(xiàn)各自的功能。一下是toolBarl代碼部分! 代碼部分主要是對(duì)首記錄、上一記錄、
12、尾記錄、下一記錄、提交修改、新紀(jì)錄等進(jìn)行 實(shí)現(xiàn)。 privatevoid toolB ar1_ButtonClick(object sender, ToolBarButtonClickEventArgs e) { if (e.Button.ToolTipText == "首記錄" ) this.dataGrid1.UnSelect(CurrenAmend.Position); CurrenAmend.Position = 0; this.dataGrid1.Select(CurrenAmend.Position); / this.dataGrid1.CurrentRowIndex
13、= CurrenAmend.Position; return; } if (e.Button.ToolTipText == "上一記錄 ") { if (CurrenAmend.Position > 0) { this.dataGrid1.UnSelect(CurrenAmend.Position); CurrenAmend.Position--; this.dataGrid1.Select(CurrenAmend.Position); this.dataGrid1.CurrentRowIndex = CurrenAmend.Position; } return; if
14、(e.Button.ToolTipText == "尾記錄") if (CurrenAmend.Count > 0) { this.dataGrid1.UnSelect(CurrenAmend.Position); CurrenAmend.Position = CurrenAmend.Count - 1; this.dataGrid1.Select(CurrenAmend.Position); this.dataGrid1.CurrentRowIndex = CurrenAmend.Position; return; } } if (e.Button.ToolTipText =
15、= "新記錄 ") CurrenAmend.AddNew(); return; } if (e.Button.ToolTipText == "刪除記錄 ") { if (MessageBox.Show(" 確實(shí)要?jiǎng)h除這條記錄嗎?", "詢問", MessageBoxButtons.YesNo) == DialogResult.Yes) { try { if (CurrenAmend.Count > 0) CurrenAmend.RemoveAt(CurrenAmend.Position); else { MessageBox.Show("沒有可以刪除的數(shù)據(jù)","提示"
16、, MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception express) { MessageBox.Show(express.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } return; } } if (e.Button.ToolTipText == "提交修改") { if (this.textBox1.Text.Trim() == " ")//檢查不能為空的字段 { MessageBox.Show( "職員編號(hào)不
17、能為空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (this.textBox3.Text.Trim() == "") { MessageBox.Show('職員姓名不能為空!","提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } CurrenAmend.EndCurrentEdit();〃結(jié)束當(dāng)前編輯操作并提交修改 if (dt.GetChanges() != null) { try { this.adp.Upda
18、te(dt); } catch (Exception express) { MessageBox.Show(express.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); this.dt.RejectChanges(); } } return; if (e.Button.ToolTipText == "取消修改 ") { try { CurrenAmend.CancelCurrentEdit(); //取消編輯 } catch (Exception express) { Message
19、Box.Show(express.ToString(), "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Error); } return; } if (e.Button.ToolTipText == "退出 ") { this.Close(); } } 2.3 數(shù)據(jù)庫訪問技術(shù) ADO.NET是一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢悗?。通常情況下,數(shù)據(jù)源 是數(shù)據(jù)庫,但它同樣也能夠是文本文件、Excel表格或者XML文件。 ADO.NET允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫進(jìn)行交互。然而并沒有與此相關(guān) 的一系列類來完成這樣的工作。因?yàn)椴煌?/p>
20、數(shù)據(jù)源 采用不同的協(xié)議,所以對(duì)于不同 的數(shù)據(jù)源必須采用相應(yīng)的協(xié)議。一些老式的數(shù) 據(jù)源使用ODBC協(xié)議,許多新的數(shù)據(jù) 源使用OleDb協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據(jù)源,這些數(shù)據(jù)源都可以通 過.NET的ADO.NET類庫來進(jìn)行連接。 ADO.NET提供與數(shù)據(jù)源進(jìn)行交互的相關(guān)的公共方法,但是對(duì)于不同的數(shù)據(jù)源采 用一組 不同的類庫。 這些類庫稱為 Data Providers ,并且通常是 以與之交互的協(xié) 議和數(shù)據(jù)源的 類型來命名的。 ADO.NET 是與數(shù)據(jù) 源交互的 .NET 技術(shù)。有許多的 Data Providers ,它將允許 與不同的數(shù)據(jù) 源交流――取決于它們所使用的 協(xié)議或者數(shù)據(jù)
21、庫。 然而無論使用什么 樣的 Data Provider ,你將使用相似的對(duì)象與數(shù)據(jù) 源進(jìn)行交互。 SqlConnection 對(duì) 象管理 與數(shù)據(jù)源的連接 。 SqlCommand 對(duì)象允許你 與數(shù)據(jù)源交流并 發(fā)送命令給它。 為了對(duì)進(jìn)行快速的只“向前”地讀取數(shù)據(jù),使用SqlDataReader。如果想使用斷開數(shù) 據(jù),使 用 DataSet 并實(shí)現(xiàn)能進(jìn)行讀取或者寫入 數(shù)據(jù)源的 SqlDataAdapter 。 下面是 對(duì) ADO.Net 進(jìn)行的過程實(shí)現(xiàn)。 如圖 2.4 超市管理系統(tǒng)商品管理界面視圖所示: 商品管理庫存管理進(jìn)貨管理 C umm o di tyHa. 001
22、2008/ 6/12 口〒 允許促誚: 首記錄 尾記錄 上一記錄下一記錄提交修改刪除修改 Commodi tylD 0001 0002 Commodi tyFr 毛m 洗衣粉 Fl anlluiTi (rnill) (mill) 冏品笛稱: 計(jì)劃迸貨數(shù): 2.4 超市管理系統(tǒng)商品管理界面視圖 private void toolBar1_ButtonClick(object sender, ToolBarButtonClickEventA
23、rgs e) { if (e.Button.ToolTipText == "首記錄 ") { this.dataGrid1.UnSelect(a.Position); a.Position = 0; this.dataGrid1.Select(a.Position); this.dataGrid1.CurrentRowIndex = a.Position; return; } if (e.Button.ToolTipText == "上一記錄 ") { if (a.Position > 0) { this.dataGrid1.UnSelect(a.Position);
24、a.Position--; this.dataGrid1.Select(a.Position); this.dataGrid1.CurrentRowIndex = a.Position; } return; } if (e.Button.ToolTipText == "下一記錄 ") { if (a.Position < a.Count - 1) { this.dataGrid1.UnSelect(a.Position); a.Position++; this.dataGrid1.Select(a.Position); this.dataGrid1.CurrentRo
25、wIndex = a.Position; } return; } if (e.Button.ToolTipText == "尾記錄 ") { if (a.Count > 0) { this.dataGrid1.UnSelect(a.Position); a.Position = a.Count - 1; this.dataGrid1.Select(a.Position); this.dataGrid1.CurrentRowIndex = a.Position; return; } } if (e.Button.ToolTipText == "新記錄 ") { a
26、.AddNew(); return; } if (e.Button.ToolTipText == "刪除記錄 ") { if (MessageBox.Show(" 確實(shí)要?jiǎng)h除這條記錄嗎?", "詢問", MessageBoxButtons.YesNo) == DialogResult.Yes) { try { if (a.Count > 0) a.RemoveAt(a.Position); else { MessageBox.Show("沒有可以刪除的數(shù)據(jù)","提示", MessageBoxButtons.OK, MessageBoxIcon.Error); }
27、} catch (Exception express) { MessageBox.Show(express.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } return; } } if (e.Button.ToolTipText == "提交修改") { if (e.Button.ToolTipText == "退出") { this.Close(); } } 第3章 課程設(shè)計(jì)總結(jié) 21 世紀(jì),超市的競(jìng)爭(zhēng)也進(jìn)入到了一個(gè)全新的領(lǐng)域,競(jìng)爭(zhēng)已不再是規(guī)模的競(jìng)爭(zhēng),而是 技術(shù)的競(jìng)爭(zhēng)、管理的競(jìng)爭(zhēng)
28、、人才的競(jìng)爭(zhēng)。如何在激烈的競(jìng)爭(zhēng)中擴(kuò)大銷售額、降低經(jīng)營(yíng)成 本、擴(kuò)大經(jīng)營(yíng)規(guī)模,成為超市營(yíng)業(yè)者努力追求的目標(biāo)。因此這次課程設(shè)計(jì),我設(shè)計(jì)了一 個(gè)超市進(jìn)銷存系統(tǒng)。 和傳統(tǒng)管理模式相比較,使用本系統(tǒng),毫無疑問會(huì)大大提高超市的運(yùn)作效率,通過 全面的信息采集和處理,輔助提高超市的決策水平,管理水平,為降低經(jīng)營(yíng)成本,提高 效益,減少差錯(cuò),節(jié)省人力,減少顧客購物時(shí)間,增加客流量,提高顧客滿意度,增強(qiáng) 超市擴(kuò)張能力,提供有效的技術(shù)保障。 針對(duì)超市的特點(diǎn),為了幫助超市解決現(xiàn)在面臨的問題,提高小型超市的競(jìng)爭(zhēng)力,開 發(fā)的系統(tǒng),前臺(tái)銷售系統(tǒng)、后臺(tái)管理系統(tǒng),其中這兩個(gè)子系統(tǒng)又包含其它一些子功能。 由于開發(fā)者能力有限,加
29、上時(shí)間倉促,本系統(tǒng)難免會(huì)出現(xiàn)一些不足之處,例如:本 系統(tǒng)只適合小型超市使用,不能適合中大型超市使用。超市管理系統(tǒng)涉及范圍寬,要解 決的問題多,功能復(fù)雜,實(shí)現(xiàn)困難,但由于限于時(shí)間,本系統(tǒng)只能做出其中的一部分功 能,如發(fā)現(xiàn)還有其它問題,希望老師批評(píng)指正。 參考文獻(xiàn) 1. 錢國忠.數(shù)據(jù)庫原理及應(yīng)用.北京郵電出版社 2. 李建華.Visual C# 2005全程指南.電子工業(yè)出版社 3?章立民.SQL Server2000中文版完全實(shí)戰(zhàn)?中國鐵道出版社 4.陳海寧.c#語言案例教程.北京工業(yè)大學(xué) 5?馬煜.Visual C#.NET案例開發(fā)集錦(第二版)?電子工業(yè)出版社 6.陳楚寒.C#與模式.電子工業(yè)出版社 7?梁天宇.C#面向?qū)ο蟪绦蛟O(shè)計(jì)?機(jī)械工業(yè)出版社. 8. 李彥宏.C#程序設(shè)計(jì)?中國農(nóng)業(yè)出版社 9. 張晨. 數(shù)據(jù)庫原理概論. 電子工業(yè)出版社 10. 龍馬?新編Visual C#程序設(shè)計(jì)從入門到精?人民郵電出版社
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 雅馬哈ts-x_ts-s使用說明課件
- 多元函數(shù)的微積分
- 商業(yè)保險(xiǎn)與社會(huì)保險(xiǎn)的區(qū)別
- HL-X6280終端培訓(xùn)手冊(cè)
- 汽車電路原理
- 通信網(wǎng)絡(luò)演進(jìn)及LTE關(guān)鍵技術(shù)教材
- 借助展業(yè)夾提升平安福簽單率廣東葉華東終稿[1]課件
- (精品)珠江國際城代管人員2
- 零售-7-11經(jīng)營(yíng)模式分析
- 電子病歷簡(jiǎn)介及門診醫(yī)生工作站[1]課件
- 食管癌術(shù)后早期營(yíng)養(yǎng)支持相關(guān)研究
- LHQ電纜層保護(hù)器相關(guān)型號(hào)列表參數(shù)
- 大腦前動(dòng)脈動(dòng)脈瘤用
- 甲真菌病各藥物特點(diǎn)教學(xué)課件
- 滑輪組機(jī)械效率