系統(tǒng)代碼-供參考_第1頁
系統(tǒng)代碼-供參考_第2頁
系統(tǒng)代碼-供參考_第3頁
系統(tǒng)代碼-供參考_第4頁
系統(tǒng)代碼-供參考_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、緒論1.1 課程設(shè)計(jì)的目的通過本次課程設(shè)計(jì),使學(xué)生能夠全面、深刻地掌握數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)流程。根據(jù)在數(shù)據(jù)庫原理課程中所學(xué)到的數(shù)據(jù)庫理論知識,結(jié)合某個具體的實(shí)際需求,最終開發(fā)出一個較為實(shí)用的數(shù)據(jù)庫系統(tǒng)。1.2 課程設(shè)計(jì)的背景和意義1.2.1課程設(shè)計(jì)的背景20世紀(jì)90年代后期特別是近幾年,我國的超市產(chǎn)業(yè)飛速發(fā)展,其經(jīng)營模式更為復(fù)雜,舊的管理體制已經(jīng)無法適應(yīng)超市的發(fā)展,這就迫切的需要引進(jìn)新的管理技術(shù)。超市的數(shù)據(jù)和業(yè)務(wù)越來越龐大,而計(jì)算機(jī)就是一種高效的管理系統(tǒng),這就需要我們把超市的管理與計(jì)算機(jī)結(jié)合起來,從而超市管理系統(tǒng)應(yīng)運(yùn)而生。依靠現(xiàn)代化的計(jì)算機(jī)信息處理技術(shù)來管理超市,節(jié)省了大量的人力、物力,改善了員工

2、的并且能夠快速反映出商品的進(jìn)、銷、存等狀況和各種反饋信息分析,使管理人員快速對市場的變化做出相應(yīng)的決策,加快超市經(jīng)營管理效率。1.2.2 課程設(shè)計(jì)的意義“數(shù)據(jù)庫課程設(shè)計(jì)”的設(shè)計(jì)思想旨在強(qiáng)調(diào)學(xué)生的實(shí)際編程能力的培養(yǎng)與創(chuàng)意靈感的發(fā)揮。為此,本課程結(jié)合學(xué)科特點(diǎn),除了讓學(xué)生掌握數(shù)據(jù)庫原理的理論知識,還增加了需求功能讓學(xué)生完成,并鼓勵學(xué)生的創(chuàng)作出個性的程序,滿足客戶需求,與市場的實(shí)際項(xiàng)目相結(jié)合。學(xué)生對此熱情高,實(shí)際收獲大,效果好。通過課堂學(xué)習(xí)和參與相關(guān)項(xiàng)目設(shè)計(jì),學(xué)生對書本支持有了深刻的理解,實(shí)踐性教學(xué)取第2章 系統(tǒng)需求分析隨著人們生活水平的不斷提高,對于物質(zhì)的需求也越來越高,而超市作為日常生活用品聚集的

3、場所,隨著全球各種超市的數(shù)目的不斷增加,規(guī)模不斷增大,其管理難度也相應(yīng)的增加,而為了適應(yīng)當(dāng)今信息化發(fā)展的時代,一套完整的超市商品管理系統(tǒng)顯得尤為重要。2.1 問題的提出在信息化高速發(fā)展的今天,超市商品管理的信息化管理已成為必不可缺的一部分,但是目前的大多是超市商品管理系統(tǒng)應(yīng)用難度較高,許多工作需要技術(shù)人員配合才能完成,角色分工不明確;改版工作量大,系統(tǒng)擴(kuò)展能力差,應(yīng)用時更是降低了靈活性,這就使得一套完善的、能夠正常工作的商品管理系統(tǒng)應(yīng)運(yùn)而生。2.2 可行性分析系統(tǒng)的可行性分析是對課題的通盤考慮,是系統(tǒng)開發(fā)者進(jìn)行進(jìn)一步工作的前提,是系統(tǒng)設(shè)計(jì)與開發(fā)的前提與基礎(chǔ)。系統(tǒng)的可行性分析可以使系統(tǒng)開發(fā)者盡可

4、能早的估計(jì)到課題開發(fā)過程中的困難,并在定義階段認(rèn)識到系統(tǒng)方案的缺陷,這樣就能花費(fèi)較少的時間和精力,也可以避免許多專業(yè)方面的困難。所以,系統(tǒng)的可行性分析在整個開發(fā)過程中是非常重要的。2.2.1 經(jīng)濟(jì)可行性分析因?yàn)橥ㄟ^網(wǎng)絡(luò)傳遞銷售信息可以不受距離的限制,因此可以借閱許多的人力和物力,方便管理,由此可以減少不必要的開支,同時該系統(tǒng)可以提高超市的銷售效率,即提高了超市的經(jīng)濟(jì)效益,所以從經(jīng)濟(jì)上完全是可行的。2.2.2 技術(shù)可行性分析本系統(tǒng)采用基于Windows的圖形用戶界面,而該系統(tǒng)是大家熟悉的操作系統(tǒng),對于那些有一般的計(jì)算機(jī)知識的人員就可以輕松上手。而整個超市管理系統(tǒng)采用最友好的交互界面,簡介明了,不

5、需要對數(shù)據(jù)庫進(jìn)行深入的了解。由此,該系統(tǒng)的操作是可行的,有必要開發(fā)該系統(tǒng)。綜合以上三方面,該系統(tǒng)具有很高的開發(fā)可行性,無論是從技術(shù)上或者經(jīng)濟(jì)上還是操作上。因此,可以設(shè)計(jì)該系統(tǒng)的數(shù)據(jù)流程圖,建立數(shù)據(jù)字典。2.3 系統(tǒng)的設(shè)計(jì)目標(biāo)本系統(tǒng)主要包括四大模塊,分別是人事管理模塊,銷售管理模塊,進(jìn)貨管理模塊,庫存管理模塊。每個模塊的功能如下:1. 人事管理模塊功能:(1)實(shí)現(xiàn)職工信息的查詢;(2)實(shí)現(xiàn)職工信息的更新,包括增加、刪除、修改功能;(3)實(shí)現(xiàn)供貨商信息的查詢;(4)實(shí)現(xiàn)供貨商信息的更新,包括增加、刪除、修改功能。2. 銷售管理模塊功能:(1)進(jìn)行前臺的銷售;(2)將前臺的銷售與后臺的數(shù)據(jù)庫聯(lián)系起來

6、。3. 進(jìn)貨管理模塊功能:(1)實(shí)現(xiàn)進(jìn)貨信息的查詢;(2)實(shí)現(xiàn)進(jìn)貨信息的更新,包括增加、刪除、修改功能。4. 庫存管理模塊功能:(1)實(shí)現(xiàn)商品庫存信息的查詢;第3章 系統(tǒng)開發(fā)的技術(shù)背景3.1 開發(fā)技術(shù)及運(yùn)行環(huán)境3.1.1 系統(tǒng)所采用的開發(fā)技術(shù)通過權(quán)衡對各種編程語言和數(shù)據(jù)庫使用的熟練程度,本系統(tǒng)選用Microsoft Visual Studio 2005作為前臺開發(fā)工具,后臺數(shù)據(jù)庫采用SQL Server 2005,整體設(shè)計(jì)以軟件工程思想為指導(dǎo)思想,力求開發(fā)一個實(shí)用性強(qiáng)、操作簡單且功能完整的超市商品管理系統(tǒng)。3.1.2 系統(tǒng)運(yùn)行環(huán)境客戶端操作系統(tǒng):Windows NT/2000/XP或更高版本服

7、務(wù)器操作系統(tǒng):Windows XP 數(shù)據(jù)庫:Microsoft SQL Server 2005前臺:Microsoft Visual Studio 2005第4章 系統(tǒng)分析與總體設(shè)計(jì)4.1 系統(tǒng)結(jié)構(gòu)框架一般的超市商品管理系統(tǒng),主要由五大模塊組成,即商品信息管理模塊,人事管理模塊,銷售管理模塊,進(jìn)貨管理模塊,庫存管理模塊,此系統(tǒng)也不例外,主要有此五大模塊組成。圖4-1系統(tǒng)功能結(jié)構(gòu)圖。圖4-1 系統(tǒng)功能結(jié)構(gòu)圖4.2 系統(tǒng)功能設(shè)計(jì)系統(tǒng)功能設(shè)計(jì)是使整個系統(tǒng)能基本實(shí)現(xiàn)超市的進(jìn)、銷、存等管理功能,能讓超市管理者更直觀的了解超市的經(jīng)營狀況,以做出相應(yīng)的經(jīng)營決策。管理信息系統(tǒng)(MIS)就是要對這些資源建立正確

8、的數(shù)據(jù)庫,并進(jìn)行信息的收集、傳送、存儲、編制成各種憑證、報(bào)表、臺帳、圖形等信息,同時對這些信息進(jìn)行維護(hù),通過實(shí)測超市的各種運(yùn)行情況,并利用過去的歷史數(shù)據(jù)預(yù)測未來的發(fā)展,從超市全局的角度出發(fā)進(jìn)行決策,利用信息控制超市的行為,附注超市完成其目標(biāo)。本系統(tǒng)主要包括四大模塊,分別是人事管理模塊,銷售管理模塊,進(jìn)貨管理模塊,庫存管理模塊。每個模塊的功能如下:1. 商品管理模塊功能:(1)實(shí)現(xiàn)商品信息的查詢;(2)實(shí)現(xiàn)職工信息的更新,包括增加、刪除、修改功能;2. 人事管理模塊功能:(1)實(shí)現(xiàn)職工信息的查詢;(2)實(shí)現(xiàn)職工信息的更新,包括增加、刪除、修改功能;(3)實(shí)現(xiàn)供貨商信息的查詢;(4)實(shí)現(xiàn)供貨商信息

9、的更新,包括增加、刪除、修改功能。3. 銷售管理模塊功能:(1)實(shí)現(xiàn)前臺商品的銷售;(2)將商品的銷售信息與數(shù)據(jù)庫聯(lián)系起來。4. 進(jìn)貨管理模塊功能:(1)實(shí)現(xiàn)進(jìn)貨信息的查詢;(2)實(shí)現(xiàn)進(jìn)貨信息的更新,包括增加、刪除、修改功能。5. 庫存管理模塊功能:(3)實(shí)現(xiàn)庫存信息的查詢;第5章 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)5.1超市管理系統(tǒng)數(shù)據(jù)庫E-R模型通過對超市管理系統(tǒng)分析,得出系統(tǒng)的E-R圖。圖5-1 數(shù)據(jù)庫E-R模型圖。名稱職工/用戶職工編號供貨日期進(jìn)貨日期電話地址供貨商編號供貨商進(jìn)貨進(jìn)貨單號商品編號名稱價格商品姓名性別mnmn工資身份證號供貨銷售單號銷售日期數(shù)量mn銷售圖5-1 數(shù)據(jù)庫E-R模型圖5.2數(shù)據(jù)庫

10、表設(shè)計(jì)5.2.1 職工信息表職工信息表(StaffBill)用于存儲職工信息,職工編號為主鍵是唯一標(biāo)識。表中各字段功能定義如表5-1所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束職工編號staffIDchar6PNOT NULL姓名namenvarchar8NOT NULL性別sexnchar2NOT NULL類別kindnvarchar10NULL身份證號idCardvarchar18NOT NULL備注othersntext50NULL表5-1職工信息表(StaffBill)5.2.2 用戶登錄表用戶登錄表(Users_Info)用于存儲用戶的基本登錄信息。表中各字段功能定義如

11、表5-2所示。 中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束帳號loginIDchar6P/FNOT NULL密碼passWordchar6NOT NULL表5-2 用戶信息表(Users_Info)5.2.3 商品信息表商品信息表(Goods_Info)用于存儲商品的信息。表中各字段功能定義如表5-3所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束商品編號merchIDchar6PNOT NULL供貨商號profferIDchar6FNOT NULL名稱fullNamenvarchar80NOT NULL類別kindnvarchar8NULL單價unitCostmoney4

12、NOT NULL備注othersntext50NULL表5-3商品信息表(Goods_Info)5.2.4 供貨商信息表供貨商信息表(Sup_Info)用于存儲供貨商的信息。表中各字段功能定義如表5-4所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束供貨商號SupplierIDchar6PNOT NULL名稱Namenvarchar50NOT NULL聯(lián)系人contactPersonnvarchar8NOT NULL聯(lián)系電話phonevarchar12NOT NULL聯(lián)系地址addressnvarchar50NOT NULL備注othersntext50NULL表5-4 供貨商信息表

13、(Sup_Info)5.2.5 進(jìn)貨信息表進(jìn)貨信息表(Buy)存儲進(jìn)貨信息。表中各字段功能定義如表5-5所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束進(jìn)貨單號BuyIDchar6PNOT NULL商品編號GoodsIDchar6P/FNOT NULL供貨商號SupplierIDchar6FNOT NULL進(jìn)貨價Pricemoney4NOT NULL數(shù)量Amountint4NOT NULL金額Summoney4NOT NULL進(jìn)貨日期Datedatetime8NOT NULL備注Remarkntext50NULL表5-5進(jìn)貨信息表(Buy)5.2.6 銷售信息表銷售信息表(Sell)

14、用于存儲銷售信息。表中各字段功能定義如表5-6所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束銷售單號SeelIDchar6PNOT NULL商品編號GoodsIDchar6P/FNOT NULL銷售數(shù)量Amountint4NOT NULL銷售日期Datedatetime8NOT NULL表5-6銷售信息表(Sell)5.2.7 庫存信息表庫存信息表(Stock)存儲庫存信息。表中各字段定義如表5-7所示。中文字段名英文字段名字段類型長度主鍵/外鍵字段值約束商品編號GoodsIDchar6P/FNOT NULL庫存數(shù)量Amountint4NOT NULL表5-7 庫存信息表(Stoc

15、k)5.3 創(chuàng)建數(shù)據(jù)庫(1)使用TSQL語句創(chuàng)建超市商品管理系統(tǒng)數(shù)據(jù)庫。CREATE DATABASE db_SMMS ON PRIMARY ( NAME = Ndb_SMMS, FILENAME = F:SMMSSMMSDataBase db_SMMS.mdf , SIZE = 3072KB , FILEGROWTH = 1024KB ) LOG ON ( NAME = Ndb_SMMS_log, FILENAME = NF:SMMSSMMSDataBase db_SMMS_log.ldf , SIZE = 1024KB , FILEGROWTH = 10%)(2)使用TSQL語句創(chuàng)建庫存表

16、。CREATE TABLE Stock( GoodsID varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL, Amount int NOT NULL, PRIMARY KEY (StockID), FOREIGN KEY (GoodsID) REFERENCES tb_Goods(GoodsID);(3)使用TSQL語句創(chuàng)建庫存視圖。create view v_StockSASSELECT tb_Stock.StockID, tb_Goods.GoodsName, tb_Stock.Amount, tb_ Stock.Remark FROM tb_

17、Stock INNER JOIN tb_Goods ON tb_Stock.G 第6章 系統(tǒng)功能模塊實(shí)現(xiàn)6.1 系統(tǒng)登錄模塊用戶登錄模塊在本系統(tǒng)的首頁。用戶輸入用戶名和密碼后,系統(tǒng)進(jìn)行驗(yàn)證,驗(yàn)證通過進(jìn)入程序的主界面。界面如圖6-1所示。圖6-1 用戶登錄界面主要實(shí)現(xiàn)代碼如下: public bool Veri(string tb_table, string Id, string Pwd) DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans(); bool jud = false; if (Id != & Pwd != ) SqlData

18、Reader temDR = MyClass.getcom(select * from + tb_table + where UserName= + Id.Trim() + and Pass= + Pwd.Trim() + ); jud = temDR.Read(); if (jud) DataClass.MyMeans.Login_Name = Id.Trim(); DataClass.MyMeans.Login_ID = temDR.GetString(0); DataClass.MyMeans.My_con.Close(); DataClass.MyMeans.My_con.Dispos

19、e(); else MessageBox.Show(用戶名或密碼錯誤!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); MyClass.con_close(); else MessageBox.Show(請將登錄信息添寫完整); return jud; 6.2 商品信息管理模塊此模塊進(jìn)行對商品信息的錄入,能夠?qū)ι唐愤M(jìn)行合理的管理,界面如圖6-2所示。圖6-2 商品信息管理界面主要實(shí)現(xiàn)代碼如下: private void btnAdd_Click(object sender, EventArgs e) bool t = false;

20、 string txt; string RecID; string TypeID; if (txtName.Text = ) MessageBox.Show(請輸入商品名稱!); txtName.Focus(); else if (txtPrice.Text = ) MessageBox.Show(請輸入商品單價!); txtPrice.Focus(); else if (comboxType.Text = ) MessageBox.Show(請選擇商品類型!); comboxType.Focus(); else if (txtKeep.Text = ) MessageBox.Show(請輸入

21、保質(zhì)期); txtKeep.Focus(); else txt = txtName.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom(select * from tb_Goods where GoodsName = + txt + ); t = temDR.Read(); if (t) MessageBox.Show(此商品名稱已存在!); txtName.Text = ; txtName.Focus(); else string Find_SQL2; string RecID2; try TypeID = My_Set.Tables0

22、.RowscomboxType.SelectedIndex0.ToString(); RecID = MyMC.GetAutocoding(tb_Goods, GoodsID);/獲取編號 RecID2 = MyMC.GetAutocoding(tb_Stock, StockID);/獲取編號 Find_SQL = insert into tb_Goods(GoodsID,GoodsName,TypeID,Remark,Price,Keep) values ( + RecID + , + txtName.Text + , + TypeID + , + txtRemark.Text + , +

23、txtPrice.Text + , + txtKeep.Text + ); Find_SQL2 = insert into tb_Stock(StockId,GoodsID,Amount) values ( + RecID2 + , + RecID + ,0); MyDataClass.getsqlcom(Find_SQL); MyDataClass.getsqlcom(Find_SQL2);/向庫存添加信息 MessageBox.Show(添加成功!); ListViewItem l = new ListViewItem(); l.Text = txtName.Text; l.SubItem

24、s.Add(comboxType.Text); l.SubItems.Add(txtPrice.Text); l.SubItems.Add(txtKeep.Text); l.SubItems.Add(txtRemark.Text); listView1.Items.Add(l); btnCancle_Click(sender, e); catch (Exception ec) MessageBox.Show(ec.Message); MessageBox.Show(添加失敗); 6.3 職工信息管理模塊此模塊有對職工的添加,修改,刪除等功能,能夠?qū)τ脩暨M(jìn)行合理的管理,界面如圖6-2所示。圖6-

25、3 職工信息管理界面主要實(shí)現(xiàn)代碼如下: private void btnSave_Click(object sender, EventArgs e) string RecID; if (txtName.Text = ) MessageBox.Show(請?zhí)砑勇毠ば彰?; txtName.Focus(); else if (Jud = 1) RecID = MyMC.GetAutocoding(tb_Worker, WorkerID);/獲取編號 Find_SQL = insert into tb_Worker(WorkerID,WorkerName,Remark) values(+RecID

26、+,+txtName.Text+,+txtRemark.Text+); MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(添加成功!); InfLoad(); WinstateT(); if (Jud = 2) Find_SQL =update tb_Worker set WorkerName=+txtName.Text+,Remark=+txtRemark.Text+ where WorkerID=+txtWorkerID.Text+; MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(修改成功!

27、); InfLoad(); WinstateT(); 6.4 供貨商信息管理模塊此模塊有對供貨商的添加,修改,刪除等功能,能夠?qū)┴浬踢M(jìn)行合理的管理。界面如圖6-3所示。圖6-4 供貨商管理界面主要實(shí)現(xiàn)代碼如下: private void btnSave_Click(object sender, EventArgs e) bool t = false; string txt; string RecID; if (txtName.Text = ) MessageBox.Show(請輸入供貨商名稱!); txtName.Focus(); else if (Jud = 1) txt = txtNam

28、e.Text.Trim(); SqlDataReader temDR = MyDataClass.getcom(select * from tb_Supplier where SupplierName = + txt + ); t = temDR.Read(); if (t) MessageBox.Show(此供貨商名稱已存在!); txtName.Text = ; txtName.Focus(); else RecID = MyMC.GetAutocoding(tb_Supplier, SupplierID);/獲取編號 Find_SQL = insert into tb_supplier(

29、SupplierID,SupplierName,Tel,Address,Remark) values ( + RecID + , + txtName.Text + , + txtTel.Text + , + txtAddress.Text + , + txtRemark.Text + ); MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(添加成功!); InfLoad(); WinstateT(); if (Jud = 2) txt = txtName.Text.Trim(); Find_SQL = select * from tb_Suppl

30、ier where SupplierName = + txt + and SupplierID!=+ ID+; SqlDataReader temDR = MyDataClass.getcom(Find_SQL); t = temDR.Read(); if (t) MessageBox.Show(此供貨商名稱已存在!); txtName.Text = ; txtName.Focus(); else Find_SQL = update tb_Supplier set SupplierName= + txtName.Text + ,Tel= + txtTel.Text + ,Address= +

31、txtAddress.Text + ,Remark= + txtRemark.Text + where SupplierID=+ID+; MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(修改成功!); InfLoad(); WinstateT(); 6.5 添加銷售信息模塊銷售員將銷售信息錄入方便了銷售工作,提高了工作效率。界面如圖6-4所示。圖6-5 添加銷售信息界面主要實(shí)現(xiàn)代碼如下: private void button2_Click(object sender, EventArgs e) if (txtSum.Text.Trim().L

32、ength != 0) string s1; string s2; string s3; string s4; float zl; float PayS; if (txtPayS.Text = ) PayS = 0; else PayS = float.Parse(txtPayS.Text); zl = PayS - TotalPrice; txtPayS.Text = PayS.ToString(); txtPayY.Text = TotalPrice.ToString(); txtZL.Text = zl.ToString(); s1 = 商品數(shù)量 + Amount1+ 件 + n + n

33、; s2 = 實(shí)付款 + PayS + 元 + n + n; s3 = 應(yīng)付款 + TotalPrice.ToString() + 元 + n + n; s4 = 找零 + zl.ToString() + 元 ; MessageBox.Show(s1+s2+s3+s4, 系統(tǒng)提示); txtPayS.Text = ; txtPayY.Text = ; txtZL.Text = ; txtID.Text = ; txtAmount.Text = ; txtSum.Text = ; TotalPrice = 0; Amount1 = 0; listView1.Items.Clear(); else

34、 MessageBox.Show(請購買商品!); 6.6 添加進(jìn)貨信息模塊錄入進(jìn)貨信息加強(qiáng)對商品的管理,使商品信息更為詳細(xì),方便了對商品的管理。界面如圖6-5所示。圖6-6 用添加進(jìn)貨信息界面主要實(shí)現(xiàn)代碼如下:private void btnAdd_Click(object sender, EventArgs e) bool t = false; string txt; string RecID; if (txtID.Text = ) MessageBox.Show(請輸入商品編號!); txtID.Focus(); else if (txtPrice.Text = ) MessageBox

35、.Show(請輸入商品單價!); txtPrice.Focus(); else if (txtAmount.Text = ) MessageBox.Show(請輸入商品數(shù)量!); txtAmount.Focus(); else if(comPy.Text=|comPm.Text=|comPd.Text=) MessageBox.Show(請將生產(chǎn)日期填寫完整!); else if (comBy.Text = | comBm.Text = | comBd.Text = ) MessageBox.Show(請將進(jìn)貨日期填寫完整); else txt =txtID.Text.Trim(); SqlD

36、ataReader temDR = MyDataClass.getcom(select * from tb_Goods where GoodsID = + txt + ); t = temDR.Read(); if (!t) MessageBox.Show(此商品不存在!); txtID.Text = ; txtID.Focus(); else string Find_SQL2; string RecID2; try string GoodsID; string SupplierID; string datep; string dateb; datep =comPy.Text + / + co

37、mPm.Text + / + comPd.Text; dateb = comBy.Text + / + comBm.Text + / +comBd.Text; GoodsID = txtID.Text; SupplierID = My_Set.Tables0.RowscomSupplier.SelectedIndex0.ToString(); RecID = MyMC.GetAutocoding(tb_Buy, BuyID);/獲取編號 RecID2 = MyMC.GetAutocoding(tb_Stock, StockID);/獲取編號 Find_SQL = insert into tb_

38、Buy(BuyID,GoodsID,EmployeeID,Price,Amount,Datep,Dateb,SupplierID,Remark) values ( + RecID + , +txtID.Text + , + DataClass.MyMeans.Login_Name + ,+txtPrice.Text +,+ txtAmount.Text+ ,+datep+,+dateb+,+SupplierID+,+txtRemark.Text+); Find_SQL2 = Update tb_Stock set Amount = Amount + +txtAmount.Text+where

39、GoodSID=+GoodsID+; MyDataClass.getsqlcom(Find_SQL); MyDataClass.getsqlcom(Find_SQL2);/向庫存添加信息 MessageBox.Show(添加成功!); ListViewItem l = new ListViewItem(); l.Text =RecID; l.SubItems.Add(txtID.Text); l.SubItems.Add(txtPrice.Text); l.SubItems.Add(txtAmount.Text); l.SubItems.Add(comSupplier.Text); l.Sub

40、Items.Add(txtRemark.Text); listView1.Items.Add(l); btnCancle_Click(sender, e); catch (Exception ec) MessageBox.Show(ec.Message); MessageBox.Show(添加失敗); 6.7 庫存信息管理模塊庫存信息管理能夠使用戶更為了解商品的庫存情況,從而有利于商品的進(jìn)貨和銷售的管理。界面如圖6-6所示。圖6-7 庫存信息管理界面主要實(shí)現(xiàn)代碼如下:private void btnSearch_Click(object sender, EventArgs e) string

41、con; con = MyMC.Sqlcon(groupBox1.Controls, Link); if (con = ) MessageBox.Show(請輸入查詢信息); else Find_SQL = select * from StockS2 + con; MyDS_Grid = MyDataClass.getDataSet(Find_SQL, tb_Common); dataGridView1.DataSource = MyDS_Grid.Tables0; dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = System

42、Colors.ActiveBorder;/設(shè)置基數(shù)行的顏色 dataGridView1.Columns0.HeaderText = 商品名稱; dataGridView1.Columns1.HeaderText = 商品單價; dataGridView1.Columns2.HeaderText = 保質(zhì)期; dataGridView1.Columns3.HeaderText = 庫存數(shù)量; dataGridView1.Columns0.Width = 150; dataGridView1.Columns1.Width = 150; dataGridView1.Columns2.Width =

43、150; dataGridView1.Columns3.Width = 150; 6.8權(quán)限設(shè)置管理模塊對不同的用戶分不同的權(quán)限,有利于系統(tǒng)的管理,只有超級管理員才具有分配權(quán)限的功能。界面如圖6-7所示。圖6-8 權(quán)限設(shè)置界面主要實(shí)現(xiàn)代碼如下: private void btnSave_Click(object sender, EventArgs e) MyDataClass.getsqlcom(Delete tb_UserPerm where UserID= + ModuleClass.MyModule.ManaId.Trim() + ); foreach(Control c in grou

44、pBox2.Controls ) if (c is CheckBox)/只遍歷CheckBox控 if (CheckBox)c).Checked = true) RecID = MyMC.GetAutocoding(tb_UserPerm, ID); MyDataClass.getsqlcom(insert into tb_UserPerm (ID,UserID,PermName) values( + RecID + , + ModuleClass.MyModule.ManaId.Trim() + , + c.Name + ); /MessageBox.Show(jinjian); / Mes

45、sageBox.Show(c.Name); MessageBox.Show(設(shè)置成功); 第7章 關(guān)鍵技術(shù)實(shí)現(xiàn)方法7.1 身份驗(yàn)證調(diào)用此方法來進(jìn)行對用戶信息的合法性驗(yàn)證,有利于提高系統(tǒng)的安全性。主要實(shí)現(xiàn)代碼如下: public bool Veri(string tb_table, string Id, string Pwd) DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans(); bool jud = false; if (Id != & Pwd != ) SqlDataReader temDR = MyClass.getcom(se

46、lect * from + tb_table + where UserName= + Id.Trim() + and Pass= + Pwd.Trim() + ); jud = temDR.Read(); if (jud) DataClass.MyMeans.Login_Name = Id.Trim(); DataClass.MyMeans.Login_ID = temDR.GetString(0); DataClass.MyMeans.My_con.Close(); DataClass.MyMeans.My_con.Dispose(); else MessageBox.Show(用戶名或密碼

47、錯誤!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); MyClass.con_close(); else MessageBox.Show(請將登錄信息添寫完整); return jud; 7.2 自動編號通過此方法來自動進(jìn)行編號,使用戶的操作更為簡便,提高了用戶添加信息的效率。主要實(shí)現(xiàn)代碼如下: public String GetAutocoding(string TableName, string ID) /查找指定表中ID號為最大的記錄 SqlDataReader MyDR = MyDataClass.getcom(sele

48、ct max( + ID + ) from + TableName); int Num = 0; if (MyDR.HasRows) /當(dāng)查找到記錄時 MyDR.Read(); /讀取當(dāng)前記錄 if (MyDR0.ToString() = ) return 0001; Num = Convert.ToInt32(MyDR0.ToString(); /將當(dāng)前找到的最大編號轉(zhuǎn)換成整數(shù) +Num; /最大編號加 string s = string.Format(0:0000, Num); /將整數(shù)值轉(zhuǎn)換成指定格式的字符串用填充字符 return s; /返回自動生成的編號 else return 0001; /當(dāng)數(shù)據(jù)表沒有記錄時,返回 7.3 設(shè)置文本

溫馨提示

  • 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

提交評論