超市管理系统项目.docx
《超市管理系统项目.docx》由会员分享,可在线阅读,更多相关《超市管理系统项目.docx(51页珍藏版)》请在冰豆网上搜索。
超市管理系统项目
娄底职业技术学院
《C#.NET访问数据库设计报告》
项目名称:
超市管理系统_
班级:
09软大2班
学号:
200902040233
姓名:
龚新菊
完成日期:
2010-12—25
〈一>:
系统分析
项目名称
超市管理系统项目设计
姓名
龚新菊
其他参与人员
谢如意邹浩杰李义王胜徐黎
本人在本 项目中主要完成的工作
〈一>系统需求分析:
1:
现计算机管理超市的功能,具体完成用户基本信息管理、员工基本信息管理、进货基本信息管理、商品基本信息管理、超市供应商基本信息管理、销售基本信息管理等功能。
2:
系统的功能需求:
本系统用户分为普通用户和管理员用户两类,管理员用户负责系统的维护,包括对用户信息、员工基本信息、进货基本信息、商品基本信息、超市供应商基本信息、销售基本信息管理的录入、修改、查询、删除等.普通用户有查看的权限。
3:
系统功能划分:
用户通过身份验证后进入主界面。
主界面为管理员提供所有选择:
用户信息管理、员工信息管理、进货信息管理、商品基本信息管理、超市供应商基本信息管理、销售基本信息管理、和退出系统。
普通用户有查看的权限和使用销售基本信息管理的出售表功能。
<二>系统的功能分析:
1:
用户基本信息管理:
在维护用户基本信息管理中,只有管理员可以增加、修改、查询、删除车主信息,普通用户只能查看。
2:
员工基本信息管理:
在给出员工基本信息,只有管理员可以实现增加、修改、查询、删除车辆信息、普通用户只能查看。
3:
进货基本信息管理:
在给出所有进货基本信息中,只有管理员可以实现增加、修改、查询、删除车辆信息、普通用户只能查看。
4:
商品基本信息管理:
在给出所有:
商品基本信息中,只有管理员可以实现增加、修改、查询、删除车辆信息、普通用户只能查看。
5:
超市供应商基本信息管理:
在给出所有超市供应商信息中,只有管理员可以实现增加、修改、查询、删除车辆信息、普通用户只能查看。
6:
销售信息管理:
给出的所有销售信息中,只有管理员实现增加、修改、查询、删除车辆信息、普通用户只能查看。
〈三>功能模块设计:
对上述功能进行集中分析、分块,按照结构化程序设计的要求,得到功能模块图如下:
〈四〉数据库设计和实现
数据库设计得合理与否,对数据的完整性、安全性、程序运行的效率和程序设计的复杂程度等有着十分密切的关心。
数据库设计的内容包括数据库管理系统的选择、数据实体的确定和数据库的具体实现。
数据库结构设计
超市管理系统的数据库名为”CSGLXT”其中包括6个数据表:
用户表信息,员工信息表、供货商信息表、进货表信息表、商品信息表、销售信息表。
以下是这些表的结构。
1)用户信息表:
用于保存所有的用户信息,如下图所示。
说明:
该表以[U—ID]为主键.
2)员工信息表:
用于保存所有的员工信息,如下图所示。
说明:
该表以[Y—ID]为主键.
3)供货商信息表:
用于保存所有的供货商信息,如下图所示。
说明:
该表以[P-ID]为主键。
4)进货表信息表:
用于保存所有的进货信息,如下图所示.
说明:
该表以[I—ID]为主键。
5)商品信息表:
用于保存所有的商品信息表,如下图所示。
说明:
该表以[G—ID]为主键。
6)销售信息表:
用于保存所有的销售信息表,如下图所示。
说明:
该表以[S—ID]和[G-ID]共同为主键.
系统数据库实现
1.创建数据库
通过“开始"菜单,选择“MICROSOFTSQLSERVER2005",
启动“SQLSERVERMANAGEMENTSTUDIOEXPRESS”,首先连接到服务器.选择本地服务器“(LOCAL)SQLEXPRESS”,身份验证为“WINDOWS身份验证”.单机“连接”按钮后,输入数据库名“CSGLXT",然后单机确定按钮创建数据库后,单机该数据库左侧的“+”按钮,将该数据库展开,选择“新建表”,后创建五个表,本输入数据。
每个表的测试数据如下图.
图:
连接到服务器
图:
创建数据库界面
图:
商品信息测试数据
图:
供货商信息测试数据
图:
销售测试数据
图:
用户测试数据
图:
进货测试数据
图:
员工测试数据
项目文件夹设计
图:
项目文件及文件夹结构。
1.主窗体及登录窗体设计
为了承载各功能窗体,超市管理系统设计了一个主窗体。
在主窗体上设置菜单栏,用于启动其他的功能窗体;同时还设置状态栏,用于显示当前系统运行过程中的相关信息.登录窗体运行后,要进入主窗体界面。
图:
主窗体界面
主窗体代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem。
ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem。
Text;
usingSystem.Windows。
Forms;
using销售信息管理;
using销售信息查询;
using超市管理系统.员工信息管理;
using超市管理系统.用户信息管理;
using超市管理系统.商品信息管理;
using超市管理系统。
进货信息管理;
using供货商信息查询;
using供货商更新;
using超市管理系统。
销售信息管理;
//using员工信息管理.员工更新管理;
namespace超市管理系统
{
publicpartialclassfrmMain:
Form
{
publicfrmMain()
{
InitializeComponent();
}
销售信息查询。
销售信息查询bb=null;
销售管理aa=null;
员工更新管理cc=null;
员工信息管理。
员工信息查询dd=null;
用户信息查询ee=null;
用户增改删ff=null;
商品更新窗体hh=null;
商品信息查询gg=null;
进货查询ii=null;
进货更新窗体jj=null;
Form6kk=null;
frmDepartmentll=null;
收银mm=null;
privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)
{
Application。
Exit();
}
privatevoidfrmMain_Load(objectsender,EventArgse)
{
this.tslUserName.Text=”||操作用户:
”+frmLogin。
userName;
this.tslUserRight.Text=”||用户权限:
"+frmLogin。
userRight;
}
privatevoid万年历ToolStripMenuItem_Click(objectsender,EventArgse)
{
System。
Diagnostics.Process.Start("explorer。
exe",”http:
//
privatevoid计算器ToolStripMenuItem_Click(objectsender,EventArgse)
{
System。
Diagnostics。
Process.Start("calc.exe”);//启动计算器程序
}
privatevoid记事本ToolStripMenuItem_Click(objectsender,EventArgse)
{
System。
Diagnostics。
Process。
Start("notepad。
exe");//启动记事本程序
}
privatevoid销售管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
panel1.Controls。
Clear();
Buttonb1=newButton();
b1。
Text=”销售管理";
b1.Left=10;
b1.Top=10;
b1.Click+=newEventHandler(b1_Click);
panel1.Controls.Add(b1);
if(frmLogin.userRight。
ToString()。
Trim()==”用户")
{
b1.Visible=false;
}
Buttonb2=newButton();
b2.Text=”销售信息查询";
b2.Left=10;
b2.Top=50;
b2.Click+=newEventHandler(b2_Click);
panel1.Controls.Add(b2);
Buttonb13=newButton();
b13。
Text=”收银管理";
b13.Left=10;
b13。
Top=90;
b13。
Click+=newEventHandler(b13_Click);
panel1。
Controls。
Add(b13);
}
voidb2_Click(objectsender,EventArgse)
{
//thrownewException("Themethodoroperationisnotimplemented。
”);
if(bb==null)
{
bb=new销售信息查询.销售信息查询();
bb。
TopLevel=false;
bb.Size=panel2。
Size;
panel2.Controls.Add(bb);
}
if(bb。
Visible==false)
{
bb=new销售信息查询.销售信息查询();
bb。
TopLevel=false;
bb.Size=panel2.Size;
panel2。
Controls。
Add(bb);
}
bb。
FormBorderStyle=FormBorderStyle。
None;
bb。
Show();
bb.BringToFront();
}
voidb1_Click(objectsender,EventArgse)
{
//thrownewException(”Themethodoroperationisnotimplemented.”);
if(aa==null)
{
aa=new销售管理();
aa.TopLevel=false;
aa。
Size=panel2。
Size;
panel2.Controls。
Add(aa);
}
if(aa.Visible==false)
{
aa=new销售管理();
aa.TopLevel=false;
aa.Size=panel2.Size;
panel2.Controls.Add(aa);
}
aa.FormBorderStyle=FormBorderStyle。
None;
aa。
Show();
aa。
BringToFront();
}
voidb13_Click(objectsender,EventArgse)
{
if(mm==null)
{
mm=new收银();
mm。
TopLevel=false;
mm。
Size=panel2.Size;
panel2。
Controls。
Add(mm);
}
if(mm.Visible==false)
{
mm=new收银();
mm.TopLevel=false;
mm.Size=panel2.Size;
panel2。
Controls.Add(mm);
}
mm.FormBorderStyle=FormBorderStyle.None;
mm。
Show();
mm.BringToFront();
}
privatevoidfrmMain_FormClosed(objectsender,FormClosedEventArgse)
{
Application。
Exit();
}
privatevoidpanel2_SizeChanged(objectsender,EventArgse)
{
for(inti=0;iControls。
Count;i++)
{
Formf=(Form)panel2。
Controls[i];
f。
Size=panel2.Size;
}
}
}
privatevoidtimer1_Tick(objectsender,EventArgse)
{
toolStripStatusLabel1.Text=System.DateTime.Now.ToLongDateString();
}
privatevoidtimer2_Tick(objectsender,EventArgse)
{
toolStripStatusLabel2.Text=System。
DateTime.Now。
ToLongTimeString();
}
}
登录窗体:
登录窗体代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem。
Data;
usingSystem.Drawing;
usingSystem。
Text;
usingSystem。
Windows.Forms;
usingSystem。
Data.SqlClient;
namespace超市管理系统
{
publicpartialclassfrmLogin:
Form
{
publicfrmLogin()
{
InitializeComponent();
}
publicstaticstringuserName;//记录登录用户名字,主窗体中使用
publicstaticstringuserRight;//记录登录用户的权限,主窗体中使用
SqlConnectionconn;//声明连接对象变量
SqlCommandcom;//声明命令对象变量
SqlDataAdapterda;//声明适配器对象变量
SqlDataReaderdr;//声明读取器对象变量
privatevoidfrmLogin_Load(objectsender,EventArgse)
{
try//捕获异常
{
conn=newSqlConnection("server=(local)\\SQLEXPRESS;integratedsecurity=true;database=CSGLXT”);
DataSetds=newDataSet();
da=newSqlDataAdapter(”select用户名from用户信息表",conn);
if(conn.State==ConnectionState.Closed)//若当前连接状态为关闭
{
conn。
Open();
}
da。
Fill(ds,"用户信息表");
conn。
Close();
cbxUserName。
DataSource=ds.Tables["用户信息表"];
cbxUserName。
DisplayMember=”用户名";
}
catch(Exceptionex)
{
MessageBox。
Show(ex.Message.ToString());//显示异常信息
}
}
privatevoidcbxUserName_SelectedIndexChanged(objectsender,EventArgse)
{
try
{
com=newSqlCommand(”select用户名,用户权限from用户信息表where用户名=’”+cbxUserName.Text+"’”,conn);
if(conn.State==ConnectionState。
Closed)
{
conn。
Open();
}
dr=com.ExecuteReader();
if(dr。
Read())
{
lblUserRight。
Text=dr["用户权限”]。
ToString();//将权限值显示到窗体上
userRight=lblUserRight。
Text;//将权限值存放到变量中
}
dr。
Close();
conn。
Close();}
catch(Exceptionex)
{
MessageBox。
Show(ex。
Message.ToString());
}
}
privatevoidbtnLogin_Click_1(objectsender,EventArgse)
{try
{
da=newSqlDataAdapter("select*from用户信息表where用户名='"+cbxUserName。
Text。
Trim()+"’and用户密码=’"+txtUserPwd。
Text。
Trim()+”'”,conn);
DataSetds=newDataSet();
if(conn.State==ConnectionState。
Closed)
{
conn.Open();
}
da.Fill(ds,”用户信息表");
conn。
Close();
if(ds.Tables[”用户信息表”].Rows.Count〉0)//数据集中的记录数不为0
{
userName=cbxUserName。
Text;
frmMainfrmmain=newfrmMain();
this。
Hide();
frmmain.Show();
}
else
{
MessageBox.Show(”用户名或密码错误!
","提示",MessageBoxButtons。
OK,MessageBoxIcon.Information);
txtUserPwd.Text=””;
cbxUserName.Focus();
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message。
ToString());
}
}
privatevoidbtnExit_Click(objectsender,EventArgse)
{
Application.Exit();
}
}}
员工信息管理窗体:
图:
员工更新管理
实现代码:
namespace超市管理系统.员工信息管理
{
publicpartialclass员工更新管理:
Form
{
public员工更新管理()
{
InitializeComponent();
}
publicstringconnStr="server=.\\SQLEXPRESS;Database=CSGLXT;Integratedsecurity=true";
publicSqlConnectionconn;
publicSqlCommandcomm;
publicSqlCommandBuildercommBuilder;
publicSqlDataAdapterda;
publicDataSetds;
privatevoid员工更新管理_Load(objectsender,EventArgse)
{
toolStripButton5.Enabled=false;
toolStripButton4。
Enabled=false;
conn=newSqlConnection(connStr);
comm=newSqlCommand("select*from员工档案表”,conn);
da=newSqlDataAdapter(comm);
ds=newDataSet();
commBuilder=newSqlCommandBuilder(da);
da.Fill(ds,"员工档案表");
dataGridView1。
DataSource=ds;
dataGridView1。
DataMember=”员工档案表";
textBox1。
DataBindings。
Add("Text",ds,”员工档案表.Y-ID”);
textBox2。
DataBindings。
Add(”Text”,ds,"员工档案表.姓名”);
textBox3.DataBindings.Add(”Text",ds,"员工档案表.住址");
textBox4。
DataBindings。
Add(”Text",ds,"员工档案表.联系电话");
textBox5。
DataBindings。
Add(”Text”,ds,"员工档案表。
身份证号码");
textBox6.DataBindings。
Add(”Text”,ds,”员工档案表。
年龄”);
textBox7.DataBindings.Add(”Text”,ds,"员工档案表。
工号");
comboBox1.DataBindings.Add(”Text",ds,"员工档案表。
性别");
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
//this。
BindingContext[ds,”Stu2"].Position=0;
this.BindingContext[ds,”员工档案表”]。
Position=0;
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
t