會員管理系統(tǒng)_第1頁
會員管理系統(tǒng)_第2頁
會員管理系統(tǒng)_第3頁
會員管理系統(tǒng)_第4頁
會員管理系統(tǒng)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、上海交通大學本科畢業(yè)論文基于VS2010+ACCESS的會員管理系統(tǒng)學 生:吳承 學 號:709101130003專 業(yè):計算機網(wǎng)絡(luò)導 師:齊開悅 學校代碼:上海交通大學繼續(xù)教育學院二一二年三月畢業(yè)論文聲明本人鄭重聲明:1、此畢業(yè)論文是本人在指導教師指導下獨立進行研究取得的成果。除了特別加以標注和致謝的地方外,本文不包含其他人或其它機構(gòu)已經(jīng)發(fā)表或撰寫過的研究成果。對本文研究做出重要貢獻的個人與集體均已在文中作了明確標明。本人完全意識到本聲明的法律結(jié)果由本人承擔。2、本人完全了解學校、學院有關(guān)保留、使用學位論文的規(guī)定,同意學校與學院保留并向國家有關(guān)部門或機構(gòu)送交此論文的復印件和電子版,允許此文被

2、查閱和借閱。本人授權(quán)上海交通大學網(wǎng)絡(luò)教育學院可以將此文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本文。3、若在上海交通大學網(wǎng)絡(luò)教育學院畢業(yè)論文審查小組復審中,發(fā)現(xiàn)本文有抄襲,一切后果均由本人承擔(包括接受畢業(yè)論文成績不及格、繳納畢業(yè)論文重新學習費、不能按時獲得畢業(yè)證書等),與畢業(yè)論文指導老師無關(guān)。作者簽名: 吳承 日期:2012-03基于VS2010+ACCESS的會員管理系統(tǒng)摘 要在經(jīng)濟全球化的今天,建立以客戶為中心的經(jīng)營戰(zhàn)略,可以加強企業(yè)和客戶間的聯(lián)系。對企業(yè)來講,為客戶提供一流的服務(wù),是企業(yè)建立品牌、實現(xiàn)差別化服務(wù)、取得競爭的利器。一直以來人們使

3、用傳統(tǒng)人工的方式管理會員的基本檔案,這種管理方式存在著許多缺點:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),對于查找、更新和維護都帶來了不少的困難。而通過會員管理系統(tǒng),企業(yè)就可以很輕松很方便的記錄所有會員客戶的資料,了解用戶的興趣愛好、消費特點、意向需求等;進而針對客戶的需求,為其提供優(yōu)質(zhì)的個性化服務(wù),還能為企業(yè)的產(chǎn)品開發(fā)、事業(yè)發(fā)展提供可靠的市場調(diào)研數(shù)據(jù),是企業(yè)經(jīng)營不可或缺的一個有利工具。同時,作為計算機應用的一部分,使用計算機對會員進行管理,具有著手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高本低等,這些優(yōu)點極大地提高了會員管理的效率,也是企業(yè)的科學化、正規(guī)化管理,

4、與、存儲量大、保密性好、壽命長、成先進科學技術(shù)接軌的重要條件。另外,在當前的經(jīng)濟形式下,采用本套系統(tǒng)可以提前進行資金回籠。在先前可以通過優(yōu)惠充值又可以吸引大批的預消費客戶。為以后的發(fā)展也奠定了良好的經(jīng)濟基礎(chǔ)。本論文主要介紹了系統(tǒng)的分析,設(shè)計和開發(fā)的全部過程。開發(fā)工具為VS2010+ACCESS。目錄畢業(yè)論文聲明.2 摘要. 3 目錄. 4 1 選題背景及項目概述. 5 1.1 引言. 5 1.2 項目概述 52 系統(tǒng)需求分析 6 2.1 功能需求 6 2.2 業(yè)務(wù)流程 63 開發(fā)工具介紹 74 數(shù)據(jù)庫設(shè)計84.1 數(shù)據(jù)庫技術(shù)概述 84.2 數(shù)據(jù)庫選擇 94.3 數(shù)據(jù)庫的E-R圖 104.4 數(shù)

5、據(jù)表格 105 會員管理系統(tǒng)詳細設(shè)計12 5.1 用戶模塊設(shè)計12 5.1.1 新增會員12 5.1.2 刪除會員13 5.2 消費模塊設(shè)計 16 5.2.1 刷卡消費16 5.2.2 現(xiàn)金消費 17 5.2.3 充值管理 18 5.3 產(chǎn)品管理設(shè)計 19 5.3.1 新增產(chǎn)品 19 5.3.2 刪除產(chǎn)品 205.4 統(tǒng)計管理設(shè)計 22 5.4.1 消費記錄22 5.4.2 統(tǒng)計數(shù)據(jù)23 5.5 管理員設(shè)計 25 5.1.1 新增管理員25 5.1.2 修改密碼26 5.6 其他配置文件 266 系統(tǒng)運行環(huán)境277 系統(tǒng)測試28總結(jié)30選題背景及項目概述1.1引言在當今經(jīng)濟的形式下,人民幣不斷

6、貶值,很多人都選擇了投資。但亦是由于貨幣政策的印象,很多店鋪在開店的時候資金短缺,這個時候很多店鋪選擇充值消費,以達到回收資金的目的。亦可通過打折充值來吸引客戶。在日常經(jīng)營中,也需要用戶的信息能夠及時的告知大家,是否推出了新的產(chǎn)品供大家使用。以及在營業(yè)時需要統(tǒng)計,打印等等功能。因此需要一套系統(tǒng)來代替?zhèn)鹘y(tǒng)手工統(tǒng)計。1.2項目概述針對上述的情況,有必要開發(fā)一套會員管理系統(tǒng)對店鋪平時的管理。此項目主要通過Visual Studio 2010+ACCESS開發(fā),無需配置與架設(shè)服務(wù)器,備份只需將數(shù)據(jù)庫拷貝即可。并且加入刷ID卡功能,需刷卡設(shè)備。針對店鋪銷售的實際情況,設(shè)置為:新設(shè)會員->沖費-&g

7、t;刷卡消費(付現(xiàn)金)并記錄,以及最后統(tǒng)計共消費的清單。其中需要設(shè)置商品,管理員等。系統(tǒng)需求分析2.1 功能需求本課題要實現(xiàn)的是店鋪會員系統(tǒng),根據(jù)程序結(jié)構(gòu)化設(shè)計的要求,把整個項目分為四大塊,分別是商品管理,會員管理,統(tǒng)計管理與消費管理。1.商品管理:主要實現(xiàn)對會員信息的添加、查詢和刪除的功能。2.會員管理: 主要實現(xiàn)對產(chǎn)品信息的添加、查詢、和刪除的功能。3.消費管理:主要實現(xiàn)對會員購物信息消費的功能。4.統(tǒng)計管理:主要實現(xiàn)消費信息的統(tǒng)計。商品管理 2.2 業(yè)務(wù)流程消費統(tǒng)計 會員消費 會員充值 新建會員 消費打印 開發(fā)工具介紹Visual Studio 2010Visual Studio是微軟公

8、司推出的開發(fā)環(huán)境。是目前最流行的Windows平臺應用程序開發(fā)環(huán)境。Visual Studio 2010版本于2010年4月12日上市,其集成開發(fā)環(huán)境(IDE)的界面被重新設(shè)計和組織,變得更加簡單明了。Visual Studio 2010同時帶來了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview-CTP),并且支持開發(fā)面向Windows 7的應用程序。除了Microsoft SQL Server,它還支持 IBM DB2和Oracle數(shù)據(jù)庫。Microsoft Office Acc

9、essMicrosoft Office Access(前名 Microsoft Access)是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng)。它結(jié)合了 Microsoft Jet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office的成員之一。其實Access 也是微軟公司另一個通訊程序的名字,想與 ProComm 以及其他類似程序來競爭??墒鞘潞笪④涀C實這是個失敗計劃,并且將它中止。數(shù)年后他們把名字重新命名于數(shù)據(jù)庫軟件。Access在2000年的時候成為了計算機等級考試中的計算機二級的一種數(shù)據(jù)庫語言并且因為它的易學易用的特點正逐步取代傳統(tǒng)的VFP成為二級中最受歡

10、迎的數(shù)據(jù)庫語言。數(shù)據(jù)庫設(shè)計4.1 數(shù)據(jù)庫技術(shù)概述數(shù)據(jù)庫是用戶存放數(shù)據(jù)、訪問數(shù)據(jù)、操作數(shù)據(jù)的存儲倉庫,用戶的各種數(shù)據(jù)被有組織的存放在數(shù)據(jù)庫中,在需要的時候可以隨時被有權(quán)利的用戶查詢、統(tǒng)計,新的數(shù)據(jù)庫可以被添加進去,不需要的數(shù)據(jù)庫可以被刪除,一些舊的數(shù)據(jù)庫可以被修改,所以數(shù)據(jù)庫就是被有效的組織在一起的數(shù)據(jù)集合總的來說,數(shù)據(jù)庫的設(shè)計對系統(tǒng)的經(jīng)濟性、功能性和效率有很大的影響,一個好的數(shù)據(jù)庫,要求在設(shè)計時盡量避免數(shù)據(jù)的多余,另外,還要盡可能提高數(shù)據(jù)的存取速度。數(shù)據(jù)庫設(shè)計時速度與空間在范式上是相互矛盾的。一方面按規(guī)范化理論的要求,關(guān)系模式應盡量取高級范式,尤其對記錄數(shù)較多的關(guān)系,低級范式將會造成存儲的大量

11、重復,是空間遭受嚴重浪費;另一方面從存取速度上考慮,應該盡量做到一個模式涉及的屬性越多越好,相互運算越少越好,這樣,又應取低級范式。因此我們在設(shè)計數(shù)據(jù)庫時要嚴格地探討它的使用環(huán)境,充分了解用戶的需求,清楚地掌握數(shù)據(jù)庫系統(tǒng)的特點。經(jīng)過綜合的評價和分析后設(shè)計出的數(shù)據(jù)庫應滿足以下要求:1. 數(shù)據(jù)庫信息要能充分體現(xiàn)出用戶使用系統(tǒng)的需求。 (2) 能夠支持用戶對數(shù)據(jù)進行的所有處理。(3) 能夠容易被數(shù)據(jù)庫管理系統(tǒng)運行維護。(4) 數(shù)據(jù)一致性、完整性好,無更新異常。4.2 數(shù)據(jù)庫選擇本系統(tǒng)選用的是ACCESS數(shù)據(jù)庫。其最大優(yōu)點在于無需架設(shè)任何服務(wù)器與環(huán)境。簡單實用,備份簡單。Access 是微軟公司推出的

12、基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,即Relational Database Management System),是Office系列應用軟件之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了多種向?qū)А⑸善?、模板,把?shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計、報表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分數(shù)據(jù)管理的任務(wù)。 Access能夠存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文軟件公司),或者任何 ODBC 兼容數(shù)據(jù)庫內(nèi)的資料。熟練的軟件設(shè)計

13、師和資料分析師利用它來開發(fā)應用軟件,而一些不熟練的程序員和非程序員的"進階用戶"則能使用它來開發(fā)簡單的應用軟件。雖然它支援部分面向?qū)ο螅∣OP)技術(shù),但是未能成為一種完整的面向?qū)ο箝_發(fā)工具。4.3 數(shù)據(jù)庫的E-R圖(1)會員管理系統(tǒng)整體E-R圖如圖3.1所示4.4 數(shù)據(jù)表格Admin_info(管理員表格)Buy_bk(購買記錄)Card_user(會員信息表)Pd_info(品牌表)Product_Info(商品表)會員管理系統(tǒng)詳細設(shè)計5.1 用戶模塊設(shè)計 5.1.1 新增會員 此界面記錄了用戶的一些詳細信息,針對以后有新產(chǎn)品的發(fā)布,針對用戶的愛好能及時的通知用戶。也可以

14、了解到用戶的職業(yè),推銷分類的產(chǎn)品。預設(shè)充值金額。實現(xiàn)代碼:private void button1_Click(object sender, EventArgs e) try UserInfo user = new UserInfo(); user.Carduser = tex_card.Text; user.Cardbak = this.tb_bk.Text; user.Cardpwd = this.tex_pwd.Text; user.Cardstata = this.cmb_stata.Checked ? "是" : "否" user.Cardti

15、me = tex_time.Text; user.Useraddr = tex_addr.Text; user.Userbirth = tex_addr.Text; user.Userjob = tex_job.Text; user.Userlove = tex_love.Text; user.Username = tex_name.Text; user.Userphone = tex_phone.Text; user.Usersex = comboBox1.SelectedItem.ToString(); user.Usertel = tex_tel.Text; user.Price = C

16、onvert.ToDouble(tex_Price.Text); int ret = UserServices.AddUser(user); if (ret > 0) MessageBox.Show("添加成功!"); this.Close(); else MessageBox.Show("添加失?。?quot;); catch (Exception ex) MessageBox.Show("輸入錯誤"); 5.1.2 刪除會員 此界面顯示所有的會員信息,如需刪除,只需選擇相應的會員點擊刪除。語句通過數(shù)據(jù)庫中唯一的ID號進行刪除。實現(xiàn)代碼

17、:private void button2_Click(object sender, EventArgs e) string str = MessageBox.Show("你確定要刪除選中項目嗎?", "警告", MessageBoxButtons.YesNo).ToString(); if (str = "Yes") if (this.dataGridView1.SelectedRows.Count > 0) for (int i = 0; i < dataGridView1.SelectedRows.Count; i+

18、) DataGridViewRow dr = dataGridView1.SelectedRowsi; int ret =UserServices.DelUser(int.Parse(dr.Cells10.Value.ToString(); if (ret > 0) else MessageBox.Show(string.Format("第0條刪除失??!", i + 1); else DataGridViewCell dc = this.dataGridView1.SelectedCells0; DataGridViewRow dr = dc.OwningRow; i

19、nt ret =UserServices.DelUser(int.Parse(dr.Cells10.Value.ToString(); if (ret > 0) else MessageBox.Show("操作失??!"); this.dataGridView1.DataSource = UserServices.GetAllInfo(); 5.2消費模塊設(shè)計 5.2.1 刷卡消費 此界面可以輸入商品號*數(shù)量自動獲得消費總金額,可以通過現(xiàn)金支付以及會員支付兩種方式進行支持。方便了一些沒有會員卡的用戶。public Form_Pay(float p, Form_BuyBK

20、 f,List<BuyFz> tlist) InitializeComponent(); price = p; CenterToParent(); this.textBox1.Select(); fc = f; this.tex_in.Text = p.ToString("0.00"); for (int i = 0; i < tlist.Count; i+) BuyBk bb = new BuyBk(); bb.BuyFrom = "system" bb.Buyprice = tlisti.Price.ToString(); bb.B

21、uyproduct = tlisti.Pname; bb.Buytime = DateTime.Now.ToString(); bb.Count = tlisti.Count; blist.Add(bb); 5.2.2 現(xiàn)金消費 現(xiàn)金支付界面,應付金額自動生成。只需填入收到金額,自動活動找零。并且可以實現(xiàn)打印。private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) Graphics cp = e.Graphics; Font f = fontDialog

22、1.Font; SolidBrush br = new SolidBrush(Color.Black); int height = 15; cp.DrawString("商品名 單價 數(shù)量",f, br,new PointF(); for (int i = 0; i < blist.Count; i+) string str = getstr(7, blisti.Buyproduct) + getstr(6, blisti.Buyprice) + getstr(4,blisti.Count.ToString(); cp.DrawString(str, f, br, 0

23、.0f, height, new StringFormat(); height += 15; cp.DrawString("-", f, br, 0.0f, height, new StringFormat(); height += 15; float sun = 0.00f; for (int i = 0; i < blist.Count; i+) sun += float.Parse(blisti.Buyprice); cp.DrawString("總價:¥"+sun.ToString("0.00"), f, br, 0.0

24、f, height, new StringFormat(); 5.2.3 充值管理 通過刷卡器刷卡自動回車,能得到會員所有的信息。然后按照金額進行充值。簡單又高效。private void button2_Click(object sender, EventArgs e) float pri = float.Parse(this.jine.Text) + float.Parse(this.label6.Text); pri = float.Parse(pri.ToString("0.00"); int ret = UserServices.Pay_pro(pri, this

25、.textBox1.Text); if (ret > 0) MessageBox.Show("充值成功!"); this.textBox1.Text = "" this.textBox1.Focus(); this.label6.Text = pri.ToString(); this.jine.Text = "0" else MessageBox.Show("充值失敗!"); this.Close(); 5.3 產(chǎn)品管理設(shè)計 5.3.1 新增產(chǎn)品 添加消費商品,設(shè)置一些產(chǎn)品信息。別可刪除。實現(xiàn)代碼privat

26、e void button3_Click(object sender, EventArgs e) ProductInfo product = new ProductInfo(); product.Productaddr = this.tex_productaddr.Text; product.Productdru = this.tex_productdru.Text; product.Productname = this.text_productname.Text; product.Productnum = this.tex_productnum.Text; product.Productpd

27、 = this.cmb_pd.SelectedText; product.Productpprice = float.Parse( this.tex_productpprice.Text); product.Productprice =float.Parse( this.tex_productprice.Text); if (this.chk_prista.Checked) product.Productpristata = "是" else product.Productpristata = "否" if (this.chk_psta.Checked)

28、 product.Productstata = "是" else product.Productstata = "否" product.Producttype = "無類型" int ret = ProductServices.AddProduct(product); if (ret > 0) MessageBox.Show("添加成功!"); this.dataGridView1.DataSource = ProductServices.GetAllProduct(); else MessageBox.Sh

29、ow("添加失敗!"); 5.3.2 刪除產(chǎn)品private void button4_Click(object sender, EventArgs e) string str = MessageBox.Show("你確定要刪除選中項目嗎?", "警告", MessageBoxButtons.YesNo).ToString(); if (str = "Yes") if (this.dataGridView1.SelectedRows.Count > 0) for (int i = 0; i < data

30、GridView1.SelectedRows.Count; i+) DataGridViewRow dr = dataGridView1.SelectedRowsi; int ret = ProductServices.DelProduct(int.Parse(dr.Cells6.Value.ToString(); if (ret > 0) else MessageBox.Show(string.Format("第0條刪除失敗!", i + 1); else DataGridViewCell dc = this.dataGridView1.SelectedCells0

31、; int ret = ProductServices.DelProduct(int.Parse(dr.Cells0.Value.ToString(); if (ret > 0) else MessageBox.Show("操作失敗!"); MessageBox.Show("操作成功!"); this.dataGridView1.DataSource = ProductServices.GetAllProduct(); 5.4 統(tǒng)計管理設(shè)計 5.4.1 消費記錄 能查詢相應一段時間內(nèi)的消費記錄。 public static List<BuyB

32、k> GetAllBuyBkByTime(string begintime,string endtime) string sql = string.Format( "select * from buy_bk where buy_time between #0# and #1#",begintime,endtime); OleDbDataReader dr = Dbhelper.ExecuteReader(sql); List<BuyBk> list = new List<BuyBk>(); while (dr.Read() BuyBk by =

33、 new BuyBk(); by.Buyid = int.Parse(dr0.ToString(); by.Buyproduct = dr1.ToString(); by.Buyprice = dr2.ToString(); by.Buytime = dr3.ToString(); by.Count = int.Parse(dr4.ToString(); by.BuyFrom = dr5.ToString(); list.Add(by); dr.Close(); return list; 5.4.2 統(tǒng)計數(shù)據(jù) 能統(tǒng)計一段時間內(nèi),會員與非會員的消費統(tǒng)計。public partial class

34、Form_dispPk : Form / public List<BuyBk> blist; public Form_dispPk() InitializeComponent(); CenterToParent(); List<BuyBk> list = BuyBkServices.GetAllBuyBk(); dataGridView1.DataSource = list; / blist = list; float sun = 0f; float disp = 0f; float user = 0f; for (int i = 0; i < list.Coun

35、t; i+) sun += float.Parse(listi.Buyprice); if (listi.BuyFrom = "system") disp += float.Parse(listi.Buyprice); else user += float.Parse(listi.Buyprice); this.lab_dis.Text = disp.ToString("0.00"); this.lab_sun.Text = sun.ToString("0.00"); this.lab_user.Text = user.ToStrin

36、g("0.00"); private void button1_Click(object sender, EventArgs e) if (this > 0 && this>0) List<BuyBk> list = BuyBkServices.GetAllBuyBkByTime(this.tex_begin.Text, this.tex_end.Text + " 23:59"); dataGridView1.DataSource = list; float sun = 0f; float disp = 0f; f

37、loat user = 0f; for (int i = 0; i < list.Count; i+) sun += float.Parse(listi.Buyprice); if (listi.BuyFrom = "system") disp += float.Parse(listi.Buyprice); else user += float.Parse(listi.Buyprice); this.lab_dis.Text = disp.ToString("0.00"); this.lab_sun.Text = sun.ToString(&quo

38、t;0.00"); this.lab_user.Text = user.ToString("0.00"); 5.5 管理員設(shè)計 5.5.1 新增管理員實現(xiàn)代碼private void button6_Click(object sender, EventArgs e) AdminInfo admin = new AdminInfo(); admin.Adminname = this.tex_user.Text; admin.Username = this.tex_username.Text; admin.Userpwd = this.tex_pwd.Text; in

39、t ret = AdminServices.AddAdmin(admin); if (ret > 0) MessageBox.Show("操作成功!"); else MessageBox.Show("操作失敗!"); this.dataGridView2.DataSource = AdminServices.GetALLAdmin(); 5.5.2 修改密碼private void button1_Click(object sender, EventArgs e) admin.Userpwd = this.tex_pwd.Text; int ret = AdminServices.UpdataAdmin(admin); if (ret > 0) MessageBox.Show("操作成功"); 5.6 其他配置文件數(shù)據(jù)庫連接配置腳本<?xml version="1.0" encoding="utf-8" ?><configuration> <connectionStrings> <add name="connstr" connectionString="Provider=Micr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論