《超市管理系統(tǒng)代碼》word版
1.1 課程設(shè)計(jì)的目的
通過(guò)本次課程設(shè)計(jì),使學(xué)生能夠全面、深刻地掌握數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)流程。根據(jù)在數(shù)據(jù)庫(kù)原理課程中所學(xué)到的數(shù)據(jù)庫(kù)理論知識(shí),結(jié)合某個(gè)具體的實(shí)際需求,最終開發(fā)出一個(gè)較為實(shí)用的數(shù)據(jù)庫(kù)系統(tǒng)。
1.2 課程設(shè)計(jì)的背景和意義
課程設(shè)計(jì)的背景
20世紀(jì)90年代后期特別是近幾年,我國(guó)的超市產(chǎn)業(yè)飛速發(fā)展,其經(jīng)營(yíng)模式更為復(fù)雜,舊的管理體制已經(jīng)無(wú)法適應(yīng)超市的發(fā)展,這就迫切的需要引進(jìn)新的管理技術(shù)。
超市的數(shù)據(jù)和業(yè)務(wù)越來(lái)越龐大,而計(jì)算機(jī)就是一種高效的管理系統(tǒng),這就需要我們把超市的管理與計(jì)算機(jī)結(jié)合起來(lái),從而超市管理系統(tǒng)應(yīng)運(yùn)而生。依靠現(xiàn)代化的計(jì)算機(jī)信息處理技術(shù)來(lái)管理超市,節(jié)省了大量的人力、物力,改善了員工的并且能夠快速反映出商品的進(jìn)、銷、存等狀況和各種反饋信息分析,使管理人員快速對(duì)市場(chǎng)的變化做出相應(yīng)的決策,加快超市經(jīng)營(yíng)管理效率。
1.2.2 課程設(shè)計(jì)的意義
“數(shù)據(jù)庫(kù)課程設(shè)計(jì)”的設(shè)計(jì)思想旨在強(qiáng)調(diào)學(xué)生的實(shí)際編程能力的培養(yǎng)與創(chuàng)意靈感的發(fā)揮。為此,本課程結(jié)合學(xué)科特點(diǎn),除了讓學(xué)生掌握數(shù)據(jù)庫(kù)原理的理論知識(shí),還增加了需求功能讓學(xué)生完成,并鼓勵(lì)學(xué)生的創(chuàng)作出個(gè)性的程序,滿足客戶需求,與市場(chǎng)的實(shí)際項(xiàng)目相結(jié)合。學(xué)生對(duì)此熱情高,實(shí)際收獲大,效果好。通過(guò)課堂學(xué)習(xí)和參與相關(guān)項(xiàng)目設(shè)計(jì),學(xué)生對(duì)書本支持有了深刻的理解,實(shí)踐性教學(xué)取得了良好效果。
1.3 課程設(shè)計(jì)環(huán)境
操作系統(tǒng):Windows xp/vista
開發(fā)軟件:MyEclipse
數(shù)據(jù)庫(kù):Microsoft SQL Server 2000
第2章 系統(tǒng)需求分析
隨著人們生活水平的不斷提高,對(duì)于物質(zhì)的需求也越來(lái)越高,而超市作為日常生活用品聚集的場(chǎng)所,隨著全球各種超市的數(shù)目的不斷增加,規(guī)模不斷增大,其管理難度也相應(yīng)的增加,而為了適應(yīng)當(dāng)今信息化發(fā)展的時(shí)代,一套完整的超市商品管理系統(tǒng)顯得尤為重要。
2.1 問(wèn)題的提出
在信息化高速發(fā)展的今天,超市商品管理的信息化管理已成為必不可缺的一部分,但是目前的大多是超市商品管理系統(tǒng)應(yīng)用難度較高,許多工作需要技術(shù)人員配合才能完成,角色分工不明確;改版工作量大,系統(tǒng)擴(kuò)展能力差,應(yīng)用時(shí)更是降低了靈活性,這就使得一套完善的、能夠正常工作的商品管理系統(tǒng)應(yīng)運(yùn)而生。
2.2 可行性分析
系統(tǒng)的可行性分析是對(duì)課題的通盤考慮,是系統(tǒng)開發(fā)者進(jìn)行進(jìn)一步工作的前提,是系統(tǒng)設(shè)計(jì)與開發(fā)的前提與基礎(chǔ)。系統(tǒng)的可行性分析可以使系統(tǒng)開發(fā)者盡可能早的估計(jì)到課題開發(fā)過(guò)程中的困難,并在定義階段認(rèn)識(shí)到系統(tǒng)方案的缺陷,這樣就能花費(fèi)較少的時(shí)間和精力,也可以避免許多專業(yè)方面的困難。所以,系統(tǒng)的可行性分析在整個(gè)開發(fā)過(guò)程中是非常重要的。
2.2.1 經(jīng)濟(jì)可行性分析
因?yàn)橥ㄟ^(guò)網(wǎng)絡(luò)傳遞銷售信息可以不受距離的限制,因此可以借閱許多的人力和物力,方便管理,由此可以減少不必要的開支,同時(shí)該系統(tǒng)可以提高超市的銷售效率,即提高了超市的經(jīng)濟(jì)效益,所以從經(jīng)濟(jì)上完全是可行的。
2.2.2 技術(shù)可行性分析
本系統(tǒng)采用基于Windows的圖形用戶界面,而該系統(tǒng)是大家熟悉的操作系統(tǒng),對(duì)于那些有一般的計(jì)算機(jī)知識(shí)的人員就可以輕松上手。而整個(gè)超市管理系統(tǒng)采用最友好的交互界面,簡(jiǎn)介明了,不需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行深入的了解。
由此,該系統(tǒng)的操作是可行的,有必要開發(fā)該系統(tǒng)。
綜合以上三方面,該系統(tǒng)具有很高的開發(fā)可行性,無(wú)論是從技術(shù)上或者經(jīng)濟(jì)上還是操作上。因此,可以設(shè)計(jì)該系統(tǒng)的數(shù)據(jù)流程圖,建立數(shù)據(jù)字典。
2.3 系統(tǒng)的設(shè)計(jì)目標(biāo)
本系統(tǒng)主要包括四大模塊,分別是人事管理模塊,銷售管理模塊,進(jìn)貨管理模塊,庫(kù)存管理模塊。每個(gè)模塊的功能如下:
1. 人事管理模塊功能:
(1)實(shí)現(xiàn)職工信息的查詢;
(2)實(shí)現(xiàn)職工信息的更新,包括增加、刪除、修改功能;
(3)實(shí)現(xiàn)供貨商信息的查詢;
(4)實(shí)現(xiàn)供貨商信息的更新,包括增加、刪除、修改功能。
2. 銷售管理模塊功能:
(1)進(jìn)行前臺(tái)的銷售;
(2)將前臺(tái)的銷售與后臺(tái)的數(shù)據(jù)庫(kù)聯(lián)系起來(lái)。
3. 進(jìn)貨管理模塊功能:
(1)實(shí)現(xiàn)進(jìn)貨信息的查詢;
(2)實(shí)現(xiàn)進(jìn)貨信息的更新,包括增加、刪除、修改功能。
4. 庫(kù)存管理模塊功能:
(1)實(shí)現(xiàn)商品庫(kù)存信息的查詢;
第3章 系統(tǒng)開發(fā)的技術(shù)背景
3.1 開發(fā)技術(shù)及運(yùn)行環(huán)境
3.1.1 系統(tǒng)所采用的開發(fā)技術(shù)
通過(guò)權(quán)衡對(duì)各種編程語(yǔ)言和數(shù)據(jù)庫(kù)使用的熟練程度,本系統(tǒng)選用Microsoft Visual Studio 2005作為前臺(tái)開發(fā)工具,后臺(tái)數(shù)據(jù)庫(kù)采用SQL Server 2005,整體設(shè)計(jì)以軟件工程思想為指導(dǎo)思想,力求開發(fā)一個(gè)實(shí)用性強(qiáng)、操作簡(jiǎn)單且功能完整的超市商品管理系統(tǒng)。
3.1.2 系統(tǒng)運(yùn)行環(huán)境
客戶端
操作系統(tǒng):Windows NT/2000/XP或更高版本
服務(wù)器
操作系統(tǒng):Windows XP
數(shù)據(jù)庫(kù):Microsoft SQL Server 2000
前臺(tái):MyEclipse
第4章 系統(tǒng)分析與總體設(shè)計(jì)
4.1 系統(tǒng)結(jié)構(gòu)框架
一般的超市商品管理系統(tǒng),主要由五大模塊組成,即商品信息管理模塊,人事管理模塊,銷售管理模塊,進(jìn)貨管理模塊,庫(kù)存管理模塊,此系統(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ì)是使整個(gè)系統(tǒng)能基本實(shí)現(xiàn)超市的進(jìn)、銷、存等管理功能,能讓超市管理者更直觀的了解超市的經(jīng)營(yíng)狀況,以做出相應(yīng)的經(jīng)營(yíng)決策。管理信息系統(tǒng)(MIS)就是要對(duì)這些資源建立正確的數(shù)據(jù)庫(kù),并進(jìn)行信息的收集、傳送、存儲(chǔ)、編制成各種憑證、報(bào)表、臺(tái)帳、圖形等信息,同時(shí)對(duì)這些信息進(jìn)行維護(hù),通過(guò)實(shí)測(cè)超市的各種運(yùn)行情況,并利用過(guò)去的歷史數(shù)據(jù)預(yù)測(cè)未來(lái)的發(fā)展,從超市全局的角度出發(fā)進(jìn)行決策,利用信息控制超市的行為,附注超市完成其目標(biāo)。
本系統(tǒng)主要包括四大模塊,分別是人事管理模塊,銷售管理模塊,進(jìn)貨管理模塊,庫(kù)存管理模塊。每個(gè)模塊的功能如下:
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)供貨商信息的更新,包括增加、刪除、修改功能。
3. 銷售管理模塊功能:
(1)實(shí)現(xiàn)前臺(tái)商品的銷售;
(2)將商品的銷售信息與數(shù)據(jù)庫(kù)聯(lián)系起來(lái)。
4. 進(jìn)貨管理模塊功能:
(1)實(shí)現(xiàn)進(jìn)貨信息的查詢;
(2)實(shí)現(xiàn)進(jìn)貨信息的更新,包括增加、刪除、修改功能。
5. 庫(kù)存管理模塊功能:
(3)實(shí)現(xiàn)庫(kù)存信息的查詢;
第5章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
5.1超市管理系統(tǒng)數(shù)據(jù)庫(kù)E-R模型
通過(guò)對(duì)超市管理系統(tǒng)分析,得出系統(tǒng)的E-R圖。圖5-1 數(shù)據(jù)庫(kù)E-R模型圖。
名稱
職工/用戶
職工編號(hào)
供貨日期
進(jìn)貨日期
電話
地址
供貨商編號(hào)
供貨商
進(jìn)貨
進(jìn)貨單號(hào)
商品編號(hào)
名稱
價(jià)格
商品
姓名
性別
m
n
m
n
工資
身份證號(hào)
供貨
銷售單號(hào)
銷售日期
數(shù)量
m
n
銷售
圖5-1 數(shù)據(jù)庫(kù)E-R模型圖
5.2數(shù)據(jù)庫(kù)表設(shè)計(jì)
5.2.1 職工信息表
職工信息表(StaffBill)用于存儲(chǔ)職工信息,職工編號(hào)為主鍵是唯一標(biāo)識(shí)。表中各字段功能定義如表5-1所示。
中文字段名
英文字段名
字段類型
長(zhǎng)度
主鍵/外鍵
字段值約束
職工編號(hào)
staffID
char
6
P
NOT NULL
姓名
name
nvarchar
8
NOT NULL
性別
sex
nchar
2
NOT NULL
類別
kind
nvarchar
10
NULL
身份證號(hào)
idCard
varchar
18
NOT NULL
備注
others
ntext
50
NULL
表5-1職工信息表(StaffBill)
5.2.2 用戶登錄表
用戶登錄表(Users_Info)用于存儲(chǔ)用戶的基本登錄信息。表中各字段功能定義如表5-2所示。
中文字段名
英文字段名
字段類型
長(zhǎng)度
主鍵/外鍵
字段值約束
帳號(hào)
loginID
char
6
P/F
NOT NULL
密碼
passWord
char
6
NOT NULL
表5-2 用戶信息表(Users_Info)
5.2.3 商品信息表
商品信息表(Goods_Info)用于存儲(chǔ)商品的信息。表中各字段功能定義如表5-3所示。
中文字段名
英文字段名
字段類型
長(zhǎng)度
主鍵/外鍵
字段值約束
商品編號(hào)
merchID
char
6
P
NOT NULL
供貨商號(hào)
profferID
char
6
F
NOT NULL
名稱
fullName
nvarchar
80
NOT NULL
類別
kind
nvarchar
8
NULL
單價(jià)
unitCost
money
4
NOT NULL
備注
others
ntext
50
NULL
表5-3商品信息表(Goods_Info)
5.2.4 供貨商信息表
供貨商信息表(Sup_Info)用于存儲(chǔ)供貨商的信息。表中各字段功能定義如表5-4所示。
中文字段名
英文字段名
字段類型
長(zhǎng)度
主鍵/外鍵
字段值約束
供貨商號(hào)
SupplierID
char
6
P
NOT NULL
名稱
Name
nvarchar
50
NOT NULL
聯(lián)系人
contactPerson
nvarchar
8
NOT NULL
聯(lián)系電話
phone
varchar
12
NOT NULL
聯(lián)系地址
address
nvarchar
50
NOT NULL
備注
others
ntext
50
NULL
表5-4 供貨商信息表(Sup_Info)
5.2.5 進(jìn)貨信息表
進(jìn)貨信息表(Buy)存儲(chǔ)進(jìn)貨信息。表中各字段功能定義如表5-5所示。
中文字段名
英文字段名
字段類型
長(zhǎng)度
主鍵/外鍵
字段值約束
進(jìn)貨單號(hào)
BuyID
char
6
P
NOT NULL
商品編號(hào)
GoodsID
char
6
P/F
NOT NULL
供貨商號(hào)
SupplierID
char
6
F
NOT NULL
進(jìn)貨價(jià)
Price
money
4
NOT NULL
數(shù)量
Amount
int
4
NOT NULL
金額
Sum
money
4
NOT NULL
進(jìn)貨日期
Date
datetime
8
NOT NULL
備注
Remark
ntext
50
NULL
表5-5進(jìn)貨信息表(Buy)
5.2.6 銷售信息表
銷售信息表(Sell)用于存儲(chǔ)銷售信息。表中各字段功能定義如表5-6所示。
中文字段名
英文字段名
字段類型
長(zhǎng)度
主鍵/外鍵
字段值約束
銷售單號(hào)
SeelID
char
6
P
NOT NULL
商品編號(hào)
GoodsID
char
6
P/F
NOT NULL
銷售數(shù)量
Amount
int
4
NOT NULL
銷售日期
Date
datetime
8
NOT NULL
表5-6銷售信息表(Sell)
5.2.7 庫(kù)存信息表
庫(kù)存信息表(Stock)存儲(chǔ)庫(kù)存信息。表中各字段定義如表5-7所示。
中文字段名
英文字段名
字段類型
長(zhǎng)度
主鍵/外鍵
字段值約束
商品編號(hào)
GoodsID
char
6
P/F
NOT NULL
庫(kù)存數(shù)量
Amount
int
4
NOT NULL
表5-7 庫(kù)存信息表(Stock)
5.3 創(chuàng)建數(shù)據(jù)庫(kù)
(1)使用T—SQL語(yǔ)句創(chuàng)建超市商品管理系統(tǒng)數(shù)據(jù)庫(kù)。
CREATE DATABASE db_SMMS ON PRIMARY
( NAME = N'db_SMMS', FILENAME = F:\SMMS\SMMS\\DataBase \db_SMMS.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
LOG ON
( NAME = N'db_SMMS_log', FILENAME = N'F:\SMMS\SMMS\DataBase\ db_SMMS_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
(2)使用T—SQL語(yǔ)句創(chuàng)建庫(kù)存表。
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)使用T—SQL語(yǔ)句創(chuàng)建庫(kù)存視圖。
create view v_StockS
AS
SELECT tb_Stock.StockID, tb_Goods.GoodsName, tb_Stock.Amount, tb_ Stock.Remark FROM
tb_Stock INNER JOIN tb_Goods ON tb_Stock.G 第6章 系統(tǒng)功能模塊實(shí)現(xiàn)
6.1 系統(tǒng)登錄模塊
用戶登錄模塊在本系統(tǒng)的首頁(yè)。用戶輸入用戶名和密碼后,系統(tǒng)進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)進(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 != "")
{
SqlDataReader 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.Dispose();
}
else
{
MessageBox.Show("用戶名或密碼錯(cuò)誤!", "提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
MyClass.con_close();
}
else
MessageBox.Show("請(qǐng)將登錄信息添寫完整");
return jud;
}
6.2 商品信息管理模塊
此模塊進(jìn)行對(duì)商品信息的錄入,能夠?qū)ι唐愤M(jìn)行合理的管理,界面如圖6-2所示。
圖6-2 商品信息管理界面
主要實(shí)現(xiàn)代碼如下:
private void btnAdd_Click(object sender, EventArgs e)
{
bool t = false;
string txt;
string RecID;
string TypeID;
if (txtName.Text == "")
{
MessageBox.Show("請(qǐng)輸入商品名稱!");
txtName.Focus();
}
else if (txtPrice.Text == "")
{
MessageBox.Show("請(qǐng)輸入商品單價(jià)!");
txtPrice.Focus();
}
else if (comboxType.Text == "")
{
MessageBox.Show("請(qǐng)選擇商品類型!");
comboxType.Focus();
}
else if (txtKeep.Text == "")
{
MessageBox.Show("請(qǐng)輸入保質(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.Tables[0].Rows[comboxType.SelectedIndex][0].ToString();
RecID = MyMC.GetAutocoding("tb_Goods", "GoodsID");//獲取編號(hào)
RecID2 = MyMC.GetAutocoding("tb_Stock", "StockID");//獲取編號(hào)
Find_SQL = "insert into tb_Goods(GoodsID,GoodsName,TypeID,Remark,Price,Keep) values ('" + RecID
+ "','" + txtName.Text + "','" + TypeID + "','" + txtRemark.Text + "'," + 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);//向庫(kù)存添加信息
MessageBox.Show("添加成功!");
ListViewItem l = new ListViewItem();
l.Text = txtName.Text;
l.SubItems.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 職工信息管理模塊
此模塊有對(duì)職工的添加,修改,刪除等功能,能夠?qū)τ脩暨M(jìn)行合理的管理,界面如圖6-2所示。
圖6-3 職工信息管理界面
主要實(shí)現(xiàn)代碼如下:
private void btnSave_Click(object sender, EventArgs e)
{
string RecID;
if (txtName.Text == "")
{
MessageBox.Show("請(qǐng)?zhí)砑勇毠ば彰?quot;);
txtName.Focus();
}
else
{
if (Jud == 1)
{
RecID = MyMC.GetAutocoding("tb_Worker", "WorkerID");//獲取編號(hào)
Find_SQL = "insert into tb_Worker(WorkerID,WorkerName,Remark) values('"+RecID+"','"+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("修改成功!");
InfLoad();
WinstateT();
}
}
}
6.4 供貨商信息管理模塊
此模塊有對(duì)供貨商的添加,修改,刪除等功能,能夠?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("請(qǐng)輸入供貨商名稱!");
txtName.Focus();
}
else
{
if (Jud == 1)
{
txt = txtName.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");//獲取編號(hào)
Find_SQL = "insert into tb_supplier(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_Supplier 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='" + 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().Length != 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";
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
{
MessageBox.Show("請(qǐng)購(gòu)買商品!");
}
}
6.6 添加進(jìn)貨信息模塊
錄入進(jìn)貨信息加強(qiáng)對(duì)商品的管理,使商品信息更為詳細(xì),方便了對(duì)商品的管理。界面如圖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("請(qǐng)輸入商品編號(hào)!");
txtID.Focus();
}
else if (txtPrice.Text == "")
{
MessageBox.Show("請(qǐng)輸入商品單價(jià)!");
txtPrice.Focus();
}
else if (txtAmount.Text == "")
{
MessageBox.Show("請(qǐng)輸入商品數(shù)量!");
txtAmount.Focus();
}
else if(comPy.Text==""||comPm.Text==""||comPd.Text=="")
{
MessageBox.Show("請(qǐng)將生產(chǎn)日期填寫完整!");
}
else if (comBy.Text == "" || comBm.Text == "" || comBd.Text == "")
{
MessageBox.Show("請(qǐng)將進(jìn)貨日期填寫完整");
}
else
{
txt =txtID.Text.Trim();
SqlDataReader 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 + "/" + comPm.Text + "/" + comPd.Text;
dateb = comBy.Text + "/" + comBm.Text + "/" +comBd.Text;
GoodsID = txtID.Text;
SupplierID = My_Set.Tables[0].Rows[comSupplier.SelectedIndex][0].ToString();
RecID = MyMC.GetAutocoding("tb_Buy", "BuyID");//獲取編號(hào)
RecID2 = MyMC.GetAutocoding("tb_Stock", "StockID");//獲取編號(hào)
Find_SQL = "insert into tb_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 GoodSID='"+GoodsID+"'";
MyDataClass.getsqlcom(Find_SQL);
MyDataClass.getsqlcom(Find_SQL2);//向庫(kù)存添加信息
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.SubItems.Add(txtRemark.Text);
listView1.Items.Add(l);
btnCancle_Click(sender, e);
}
catch (Exception ec)
{
MessageBox.Show(ec.Message);
MessageBox.Show("添加失敗");
}
}
}
}
6.7 庫(kù)存信息管理模塊
庫(kù)存信息管理能夠使用戶更為了解商品的庫(kù)存情況,從而有利于商品的進(jìn)貨和銷售的管理。界面如圖6-6所示。
圖6-7 庫(kù)存信息管理界面
主要實(shí)現(xiàn)代碼如下:
private void btnSearch_Click(object sender, EventArgs e)
{
string con;
con = MyMC.Sqlcon(groupBox1.Controls, Link);
if (con == "")
{
MessageBox.Show("請(qǐng)輸入查詢信息");
}
else
{
Find_SQL = "select * from StockS2" + con;
MyDS_Grid = MyDataClass.getDataSet(Find_SQL, "tb_Common");
dataGridView1.DataSource = MyDS_Grid.Tables[0];
dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = SystemColors.ActiveBorder;//設(shè)置基數(shù)行的顏色
dataGridView1.Columns[0].HeaderText = "商品名稱";
dataGridView1.Columns[1].HeaderText = "商品單價(jià)";
dataGridView1.Columns[2].HeaderText = "保質(zhì)期";
dataGridView1.Columns[3].HeaderText = "庫(kù)存數(shù)量";
dataGridView1.Columns[0].Width = 150;
dataGridView1.Columns[1].Width = 150;