超市會員管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁
超市會員管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁
超市會員管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁
超市會員管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁
超市會員管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 蘭州商學(xué)院隴橋?qū)W院 信息工程系課程設(shè)計(jì)報(bào)告課 程 名 稱: C#課程設(shè)計(jì) 設(shè) 計(jì) 題 目:超市會員管理系統(tǒng) 系 別:信息工程系 專 業(yè) (方 向):計(jì)算機(jī)科學(xué)與技術(shù)(網(wǎng)絡(luò)工程方向) 年 級、 班:2012級本科班 學(xué) 生 姓 名:XXX 學(xué) 生 學(xué) 號:XXXXXXXX 本 組 組 員:XXXXXXXXXXXXXXXX 指 導(dǎo) 教 師:楊 光 2014 年 12 月 26日目錄專心-專注-專業(yè)超市會員管理系統(tǒng)一、系統(tǒng)開發(fā)的背景社會生活的現(xiàn)代化,使得市場的走向發(fā)生巨大變化,由于經(jīng)濟(jì)的發(fā)展,許多大型的現(xiàn)代化超市應(yīng)運(yùn)而生?,F(xiàn)在超市吸引顧客最普遍的做法就是實(shí)行會員制,超市的

2、會員可以享受不同程度的優(yōu)惠,從而達(dá)到吸引顧客,刺激消費(fèi)的目的。建立實(shí)用的超市會員管理系統(tǒng)對超市的會員管理有很大的幫助,可以協(xié)助工作人員進(jìn)行會員的信息登記、更新。因此,為了優(yōu)化超市會員制度的計(jì)算機(jī)管理,編寫了此系統(tǒng)。二、系統(tǒng)分析與設(shè)計(jì)(一) 系統(tǒng)功能要求超市會員管理系統(tǒng)應(yīng)具備以下功能:1、加入會員的基本信息,包括:成為會員的基本條件、優(yōu)惠政策、優(yōu)惠時間等。2、會員的基本信息,包括姓名、性別、年齡、工作單位、聯(lián)系方式等。3、會員購物信息:購買物品編號、物品名稱、所屬種類,數(shù)量,價格等。4、會員返利信息,包括會員積分的情況,享受優(yōu)惠的等級等。5、對貨物流量及消費(fèi)人群進(jìn)行統(tǒng)計(jì)輸出。(二) 系統(tǒng)模塊結(jié)構(gòu)

3、設(shè)計(jì)通過對系統(tǒng)功能的分析,學(xué)生綜合測評系統(tǒng)功能如圖1所示。圖1 超市會員管理系統(tǒng)功能圖通過上圖的功能分析,把整個系統(tǒng)劃分為4個模塊:1、會員信息,該模塊主要實(shí)現(xiàn):會員基本信息(會員編號、會員卡號、姓名、性別、年齡、會員等級、當(dāng)前積分、聯(lián)系方式)的輸出;2、會員管理,該模塊主要實(shí)現(xiàn):會員管理(會員的查詢、刪除、修改和添加)信息,購物信息管理(通過輸入會員編號來查詢會員的購物信息);3、信息統(tǒng)計(jì),該模塊主要實(shí)現(xiàn):物品流量統(tǒng)計(jì)(通過柱狀圖來顯示物品的消費(fèi)情況),消費(fèi)人群統(tǒng)計(jì)(通過柱狀圖來統(tǒng)計(jì)人群的消費(fèi)情況);4、系統(tǒng)管理,該模塊主要實(shí)現(xiàn):對用戶名和密碼的修改,能夠更好的管理超市會員管理系統(tǒng)。三、系統(tǒng)

4、的設(shè)計(jì)與實(shí)現(xiàn)(一) 登陸流程圖如下圖所示:圖2登陸界面流程圖該模塊的具體代碼如下所示。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Linq;using System.Windows.Forms;using DevExpress.XtraEditors;namespace 超市會員管理系統(tǒng) public partial class LoginForm :

5、DevExpress.XtraEditors.XtraForm public LoginForm() InitializeComponent(); bool formMove = false; Point formPoint; #region 登陸按鈕實(shí)現(xiàn)用戶名、密碼的驗(yàn)證 private void btnOK_Click(object sender, EventArgs e) if (Login.Login.isEnable(txtUserName.Text.Trim(), txtPassword.Text.Trim() MainForm form = new MainForm(); for

6、m.Visible = true; this.Visible = false; else lblShow.Text = "輸入有誤請重新輸入! txtUserName.Clear(); txtPassword.Clear(); txtUserName.Focus(); #endregion #region 退出程序 private void pictureBox2_Click(object sender, EventArgs e) Application.Exit(); #endregion #region 登錄界面的移動 private void pictureBox1_Mouse

7、Move(object sender, MouseEventArgs e) if (formMove = true) Point mousePos = Control.MousePosition; mousePos.Offset(formPoint.X, formPoint.Y); Location = mousePos; private void pictureBox1_MouseDown(object sender, MouseEventArgs e) formPoint = new Point(); int xOffset; int yOffset; if (e.Button = Mou

8、seButtons.Left) xOffset = -e.X - SystemInformation.FrameBorderSize.Width; yOffset = -e.Y - SystemInformation.CaptionHeight - SystemInformation.FrameBorderSize.Height; formPoint = new Point(xOffset, yOffset); formMove = true; private void pictureBox1_MouseUp(object sender, MouseEventArgs e) if (e.But

9、ton = MouseButtons.Left) formMove = false; #endregion #region登陸界面加載,連接數(shù)據(jù)庫 private void LoginForm_Load(object sender, EventArgs e) Login.Login.linkDataBase(); #endregion (二) 會員信息該模塊的流程圖如下圖所示:圖3會員信息流程圖該模塊的具體代碼如下所示。using System;using System.Collections.Generic;using System.ComponentModel;using System.D

10、ata;using System.Drawing;using System.Text;using System.Linq;using System.Windows.Forms;using DevExpress.XtraEditors;using DBHelper;using System.Data.SqlClient;namespace 超市會員管理系統(tǒng) public partial class MemberMessageForm : DevExpress.XtraEditors.XtraForm public MemberMessageForm() InitializeComponent()

11、; #region 全局變量 DataSet dataSet = MainForm.dataSet; DBhelper dbHelper = MainForm.dbhelper; String dataDir; String strMemberCardNo; #endregion #region 按會員卡卡號查詢信息 private void simpleButton1_Click(object sender, EventArgs e) #region 獲取當(dāng)前項(xiàng)的根目錄路徑 dataDir = dbHelper.getCurrentDataPath(); #endregion strMemb

12、erCardNo = txtMessg.Text.Trim(); if (string.IsNullOrEmpty(strMemberCardNo) MessageBox.Show("請輸入會員卡號", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; try #region 定向臨時數(shù)據(jù)庫中的表主鍵 DataTable dt = dbHelper.getDataTable("MemberMssg", "會員卡編號"); #endregion #r

13、egion指向臨時數(shù)據(jù)庫中的指定的值得行 DataRow dr = dbHelper.getDataRow(dt, strMemberCardNo); #endregion #region 將臨時數(shù)據(jù)庫中的表的值返回到界面中 updataForm(dr); #endregion catch (Exception ex) MessageBox.Show(ex.StackTrace); #endregion #region更新界面面板信息 private void updataForm(DataRow dr) #region 更新基本信息界面 if (dr = null) MessageBox.S

14、how("無該項(xiàng)數(shù)據(jù)記錄", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; txtMemberAge.Text = dr"年齡".ToString(); txtMemberCard.Text = dr"會員卡編號.ToString(); txtMemberGrade.Text = dr"會員等級.ToString(); txtMemberName.Text = dr"姓名".ToString(); txtMemberNo.T

15、ext = dr"會員編號.ToString(); txtMemberSex.Text = dr"性別".ToString(); txtMemberPhone.Text = dr"聯(lián)系方式".ToString(); txtUnit.Text = dr"工作單位".ToString(); txtCurrentIntegral.Text = dr"現(xiàn)有積分.ToString(); txtEndDate.Text = dr"終止日期.ToString(); try memberPirecture.Image =

16、 Image.FromFile(dataDir+string.Format("picture0.jpg", dr"頭像.ToString(); catch (Exception ex) memberPirecture.Image = Image.FromFile(dataDir+string.Format("picturedefault.png"); #endregion #region 更新消費(fèi)界面板 dataSet.Tables"GoodsMssg".DefaultView.RowFilter = String.Form

17、at("會員卡編號='0'", strMemberCardNo); dataGridView1.DataSource = dataSet.Tables"GoodsMssg".DefaultView; dataGridView1.AutoSize = true; dataGridView1.Visible = true; #endregion #endregion (三) 會員管理該模塊的流程圖如下圖所示:圖4會員管理流程圖(1) 會員管理該模塊的具體代碼如下所示。namespace 超市會員管理系統(tǒng) public partial clas

18、s MemberManageForm : DevExpress.XtraEditors.XtraForm public MemberManageForm() InitializeComponent(); #region全局變量 DataSet dataSet = MainForm.dataSet; DBhelper dbHelper = MainForm.dbhelper; SqlDataAdapter sda = null; DataRow dr; DataRow drs; String dataDir; Boolean isDataBindings = false; Boolean cha

19、ngeState = false; Boolean deleteState = false; Boolean addState = false; #endregion #region 顯示指定信息到預(yù)覽界面 private void btnOK_Click(object sender, EventArgs e) sda = dbHelper.getDataAdapter(); String txtMessg = null; String condition = null; #region 獲取搜索條件值 try txtMessg = txtMssg.Text.Trim(); condition

20、 = comboBox1.SelectedItem.ToString().Trim(); if (string.IsNullOrEmpty(txtMessg) && string.IsNullOrEmpty(condition) throw new Exception(); catch (Exception ex) MessageBox.Show("請輸入信息", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; dataDir = dbHelper.getCurrent

21、DataPath(); #endregion #region 條件查詢 Boolean flag = getDataRow(condition, txtMessg); #endregion #region 界面信息更新 if (flag = true) updataForm(); #endregion #endregion #region 按鈕單擊操作 private void comboBox1_SelectedValueChanged(object sender, EventArgs e) txtMssg.EditValue = " " private void btn

22、Add_Click(object sender, EventArgs e) if (btnAdd.Text = "確定") btnChange(); if (addState = true) #region 向DataSet中D的Ì?DataTable追加一行記錄 DataRow newDataRow = dataSet.Tables"MemberMssg".NewRow(); try newDataRow"會員編號" = txtMemberNo.Text.ToString(); newDataRow"姓名&quo

23、t; = txtMemberName.Text.ToString(); newDataRow"年齡" = Convert.ToInt32(txtMemberAge.Text); newDataRow"性別" = txtMemberSex.Text.ToString(); newDataRow"聯(lián)系方式" = txtMemberPhone.Text.ToString(); newDataRow"工作單位" = txtUnit.Text.ToString(); newDataRow"起始日期" =

24、DateTime.Now; newDataRow"終止日期" = dateTimePicker1.Text; newDataRow"積分類型" = " " newDataRow"現(xiàn)有積分 = Convert.ToInt32(txtCurrentIntegral.Text); newDataRow"會員卡編號" = txtMemberCard.Text.ToString(); newDataRow"會員等級" = txtMemberGrade.Text.ToString(); dataS

25、et.Tables"MemberMssg".Rows.Add(newDataRow); catch (Exception ex) MessageBox.Show("添加記錄失敗!n"); return; dataSet.AcceptChanges(); dbHelper.addDataBase(newDataRow); MessageBox.Show("添加紀(jì)錄成功!"); #endregion else if (changeState = true) #region 對dataset中的表進(jìn)行修改 dataSet.AcceptCha

26、nges(); MessageBox.Show(" 修改記錄成功!"); #endregion else if (deleteState = true) #region 刪除ydataset中的表的指定記錄 String deleteMemNo = txtMemberCard.Text.Trim(); try DataColumn primaryKey = new DataColumn dataSet.Tables"MemberMssg".Columns"會員卡編號" ; dataSet.Tables"MemberMssg&

27、quot;.PrimaryKey = primaryKey dataSet.Tables"MemberMssg".Rows.Remove(dataSet.Tables"MemberMssg".Rows.Find(deleteMemNo); catch (Exception ex) MessageBox.Show("數(shù)據(jù)記錄刪除失敗,無該記錄!"); return; try DataColumn primaryKey = new DataColumn dataSet.Tables"GoodsMssg".Columns

28、"購物編號" ; dataSet.Tables"GoodsMssg".PrimaryKey = primaryKey; for (int i = 0; i < dataSet.Tables"GoodsMssg".Rows.Count; i+) dataSet.Tables"GoodsMssg".Rows.Remove(dataSet.Tables"GoodsMssg".Rows.Find(deleteMemNo); catch (Exception ex) ; MessageBox.Sho

29、w(" 刪除記錄成功!"); dbHelper.deleteDataBase(deleteMemNo); #endregion addState = false; changeState = false; deleteState = false; removeBindingData(); else btnChange(); addState = true; #region 清空groupbox中DtextBox中的值 foreach (Control conl in groupControl2.Controls) if (conl is TextBox) (conl as

30、TextBox).Clear(); #region 獲取主鍵的最大值并加稱為新添加的主鍵 DataRow drs = null; try / drs = dataSet.Tables"MemberMssg".Select("1=1", dataSet.Tables"MemberMssg".Columns"會員編號".ColumnName + " DESC "); catch (Exception ex) MessageBox.Show(ex.StackTrace); txtMemberNo.Te

31、xt = (Convert.ToInt32(drs0"會員編號") + 1).ToString(); try drs = dataSet.Tables"MemberMssg".Select("1=1", dataSet.Tables"MemberMssg".Columns"會員卡編號".ColumnName + " DESC "); catch (Exception ex) MessageBox.Show(ex.StackTrace); txtMemberCard.Text

32、= (Convert.ToInt32(drs0"會¨¢員¡À卡¡§編À¨¤號?") + 1).ToString(); #endregion foreach (Control conl in groupControl3.Controls) if (conl is TextBox) (conl as TextBox).Clear(); txtMemberNo.Enabled = true; txtMemberCard.Enabled = true; #endregion private v

33、oid btnChg_Click(object sender, EventArgs e) if (btnChg.Text = "修改") btnChange(); changeState = true; txtMemberNo.Enabled = true; txtMemberCard.Enabled = true; if (!isDataBindings) if (txtMemberNo.Text.Trim() != "" && txtMemberCard.Text.Trim() != "") bindingData

34、(); else addState = false; changeState = false; deleteState = false; removeBindingData(); btnChange(); private void btnDelete_Click(object sender, EventArgs e) if (btnDelete. Text = "刪除") deleteState = true; btnChange(); txtMemberCard.Enabled = false; txtMemberNo.Enabled = false; else remo

35、veBindingData(); this.Dispose(); #endregion #region 改變界面底部的按鈕屬性 private void btnChange() if (btnDelete.Text = "刪除") btnAdd.Text = "確定" btnChg.Text = "取消; btnDelete.Text = "退出" btnView.Enabled = true; else btnAdd.Text = "添加" btnChg.Text = "修改" bt

36、nDelete.Text = "刪除" btnView.Enabled = false; #endregion #region 條件查詢 private Boolean getDataRow(String condition, String txtMessg) drs = dataSet.Tables"MemberMssg".Select(String.Format(condition + " = '0'", txtMessg); dr = null; if (drs.Length > 1) dataSet.Ta

37、bles"MemberMssg".DefaultView.RowFilter = String.Format(condition + " = '0'", txtMessg); dataGridView1.DataSource = dataSet.Tables"MemberMssg".DefaultView; tabControl1.SelectTab(1); else if (drs.Length < 1) MessageBox.Show("無該項(xiàng)數(shù)據(jù)記錄!", "", M

38、essageBoxButtons.OK, MessageBoxIcon.Warning); return false; dr = drs0; return true; #endregion #region 更新界面 public void updataForm() txtMemberAge.Text = dr"年齡".ToString(); txtMemberCard.Text = dr"會員卡編號".ToString(); txtMemberGrade.Text = dr"會員等級".ToString(); txtMemberName.Text = dr"姓名".ToString(); txtMemberNo.Text = dr"會員編號".ToString(); txtMemberSex.Text = dr"性別".ToString(); txtMemberPhone.Text = dr"聯(lián)系方式".ToString(); txtUnit.Text = dr"工作單位".ToString(); txtCurrentIntegral

溫馨提示

  • 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

提交評論