超市管理系统项目_第1页
超市管理系统项目_第2页
超市管理系统项目_第3页
超市管理系统项目_第4页
超市管理系统项目_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#.NET访问数据库设计报告项目名称: 超市管理系统班 级: 09软大2班学 号: 200902040233姓 名: 龚新菊完成日期: 2010-12-25 :系统分析项目名称超市管理系统项目设计姓名龚新菊其他参与人员谢如意 邹浩杰 李义 王胜 徐黎本人在本项目中主要完成的工作系统需求分析:1:现计算机管理超市的功能,具体完成用户基本信息管理、员工基本信息管理、进货基本信息管理、商品基本信息管理、超市供应商基本信息管理、销售基本信息管理等功能。2:系统的功能需求:本系统用户分为普通用户和管理员用户两类,管理员用户负责系统的维护,包括对用户信息、员工基本信息、进货基本信息、商品基本信息、超市供应商基本信息、销售基本信息管理的录入、修改、查询、删除等。普通用户有查看的权限。3:系统功能划分:用户通过身份验证后进入主界面。主界面为管理员提供所有选择:用户信息管理、员工信息管理、进货信息管理、商品基本信息管理、超市供应商基本信息管理、销售基本信息管理、和退出系统。普通用户有查看的权限和使用销售基本信息管理的出售表功能。系统的功能分析:1:用户基本信息管理:在维护用户基本信息管理中,只有管理员可以增加、修改、查询、删除车主信息,普通用户只能查看。2:员工基本信息管理:在给出员工基本信息,只有管理员可以实现增加、修改、查询、删除车辆信息、普通用户只能查看。3:进货基本信息管理:在给出所有进货基本信息中,只有管理员可以实现增加、修改、查询、删除车辆信息、普通用户只能查看。4:商品基本信息管理:在给出所有:商品基本信息中,只有管理员可以实现增加、修改、查询、删除车辆信息、普通用户只能查看。5:超市供应商基本信息管理:在给出所有超市供应商信息中,只有管理员可以实现增加、修改、查询、删除车辆信息、普通用户只能查看。6:销售信息管理:给出的所有销售信息中,只有管理员实现增加、修改、查询、删除车辆信息、普通用户只能查看。功能模块设计:对上述功能进行集中分析、分块,按照结构化程序设计的要求,得到功能模块图如下:超市管理系统用户信息添加用户信息查询进货信息添加进货信息修改进货信息查询销售信息添加销售信息修改销售信息查询用户管理系统进货管理系统销售信息管理用户信息修改员工管理系统供应商管理商品信息管理供应商信息查询供应商信息修改供应商信息添加商品信息查询商品信息修改商品信息添加员工信息添加员工信息修改员工信息查询用 户用户密码用户权限用户名ID员工档案表年龄联系电话身份证号码工号姓名Y-ID住址性别进货表进货数目进货价格I-IDG-ID商品表产地商品标价计算单位生产日期保质期条形码号备注库存量G-ID商品名P-ID销售表S-IDG-ID商品数量操作人员供货商表P-ID邮政编码银行账号联系电话供货商负责人开户银行数据库设计和实现 数据库设计得合理与否,对数据的完整性、安全性、程序运行的效率和程序设计的复杂程度等有着十分密切的关心。数据库设计的内容包括数据库管理系统的选择、数据实体的确定和数据库的具体实现。数据库结构设计 超市管理系统的数据库名为”CSGLXT”其中包括6个数据表:用户表信息,员工信息表、供货商信息表、进货表信息表、商品信息表、销售信息表。以下是这些表的结构。1) 用户信息表:用于保存所有的用户信息,如下图所示。 说明:该表以U-ID为主键。2) 员工信息表:用于保存所有的员工信息,如下图所示。 说明:该表以Y-ID为主键。 3)供货商信息表:用于保存所有的供货商信息,如下图所示。 说明:该表以P-ID为主键。 4)进货表信息表:用于保存所有的进货信息,如下图所示。 说明:该表以I-ID为主键。5)商品信息表:用于保存所有的商品信息表,如下图所示。说明:该表以G-ID为主键。6)销售信息表:用于保存所有的销售信息表,如下图所示。 说明:该表以S-ID和G-ID共同为主键。系统数据库实现1. 创建数据库通过“开始”菜单,选择“MICROSOFT SQL SERVER 2005”,启动“ SQL SERVER MANAGEMENT STUDIO EXPRESS”,首先连接到服务器。选择本地服务器“(LOCAL) SQLEXPRESS ”,身份验证为“WINDOWS 身份验证”。单机“连接”按钮后,输入数据库名“CSGLXT”,然后单机确定按钮创建数据库后,单机该数据库左侧的“+”按钮,将该数据库展开,选择“新建表”,后创建五个表,本输入数据。每个表的测试数据如下图。 图: 连接到服务器图: 创建数据库界面 图:商品信息测试数据 图:供货商信息测试数据 图: 销售测试数据 图: 用户测试数据 图:进货测试数据 图: 员工测试数据项目文件夹设计 图:项目文件及文件夹结构。1主窗体及登录窗体设计 为了承载各功能窗体,超市管理系统设计了一个主窗体。在主窗体上设置菜单栏,用于启动其他的功能窗体;同时还设置状态栏,用于显示当前系统运行过程中的相关信息。登录窗体运行后,要进入主窗体界面。 图:主窗体界面主窗体代码: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using 销售信息管理;using 销售信息查询;using 超市管理系统.员工信息管理;using 超市管理系统.用户信息管理;using 超市管理系统.商品信息管理;using 超市管理系统.进货信息管理;using 供货商信息查询;using 供货商更新;using 超市管理系统.销售信息管理;/using 员工信息管理.员工更新管理;namespace 超市管理系统 public partial class frmMain : Form public frmMain() InitializeComponent(); 销售信息查询.销售信息查询 bb=null; 销售管理 aa=null; 员工更新管理 cc = null; 员工信息管理.员工信息查询 dd = null; 用户信息查询 ee = null; 用户增改删 ff = null; 商品更新窗体 hh = null; 商品信息查询 gg = null; 进货查询 ii = null; 进货更新窗体 jj = null; Form6 kk = null; frmDepartment ll = null; 收银 mm = null; private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); private void frmMain_Load(object sender, EventArgs e) this.tslUserName.Text = |操作用户: + frmLogin.userName; this.tslUserRight.Text = |用户权限: + frmLogin.userRight; private void 万年历ToolStripMenuItem_Click(object sender, EventArgs e) System.Diagnostics.Process.Start(explorer.exe, /list/wannianli.htm); private void 计算器ToolStripMenuItem_Click(object sender, EventArgs e) System.Diagnostics.Process.Start(calc.exe);/启动计算器程序 private void 记事本ToolStripMenuItem_Click(object sender, EventArgs e) System.Diagnostics.Process.Start(notepad.exe);/启动记事本程序 private void 销售管理ToolStripMenuItem_Click(object sender, EventArgs e) panel1.Controls.Clear(); Button b1 = new Button(); b1.Text = 销售管理; b1.Left = 10; b1.Top = 10; b1.Click += new EventHandler(b1_Click); panel1.Controls.Add(b1); if (frmLogin.userRight.ToString().Trim() = 用户) b1.Visible = false; Button b2 = new Button(); b2.Text = 销售信息查询; b2.Left = 10; b2.Top = 50; b2.Click += new EventHandler(b2_Click); panel1.Controls.Add(b2); Button b13 = new Button(); b13.Text = 收银管理; b13.Left = 10; b13.Top =90; b13.Click+=new EventHandler(b13_Click); panel1.Controls.Add(b13); void b2_Click(object sender, EventArgs e) /throw new Exception(The method or operation is not implemented.); 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(); void b1_Click(object sender, EventArgs e) /throw new Exception(The method or operation is not implemented.); 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(); void b13_Click(object sender, EventArgs e) 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(); private void frmMain_FormClosed(object sender, FormClosedEventArgs e) Application.Exit(); private void panel2_SizeChanged(object sender, EventArgs e) for (int i = 0; i 0)/数据集中的记录数不为0 userName = cbxUserName.Text; frmMain frmmain = new frmMain(); this.Hide(); frmmain.Show(); else MessageBox.Show(用户名或密码错误!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtUserPwd.Text = ; cbxUserName.Focus(); catch (Exception ex) MessageBox.Show(ex.Message.ToString(); private void btnExit_Click(object sender, EventArgs e) Application.Exit(); 员工信息管理窗体: 图:员工更新管理实现代码: namespace 超市管理系统.员工信息管理 public partial class 员工更新管理 : Form public 员工更新管理() InitializeComponent(); public string connStr = server=.SQLEXPRESS;Database=CSGLXT;Integrated security=true; public SqlConnection conn; public SqlCommand comm; public SqlCommandBuilder commBuilder; public SqlDataAdapter da; public DataSet ds; private void 员工更新管理_Load(object sender, EventArgs e) toolStripButton5.Enabled = false; toolStripButton4.Enabled = false; conn = new SqlConnection(connStr); comm = new SqlCommand(select * from 员工档案表, conn); da = new SqlDataAdapter(comm); ds = new DataSet(); commBuilder=new SqlCommandBuilder (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, 员工档案表.性别); private void button1_Click(object sender, EventArgs e) /this.BindingContextds, Stu2.Position = 0; this.BindingContextds, 员工档案表.Position = 0; private void button2_Click(object sender, EventArgs e) this.BindingContextds, 员工档案表.Position = this.BindingContextds, 员工档案表.Count - 1; private void button3_Click(object sender, EventArgs e) this.BindingContextds, 员工档案表.Position-; private void button4_Click(object sender, EventArgs e) this.BindingContextds, 员工档案表.Position+; private void toolStripButton1_Click(object sender, EventArgs e) toolStripButton5.Enabled =true; toolStripButton4.Enabled = true; / this.BindingContextds, 员工档案表.EndCurrentEdit(); /this.BindingContextds, 员工档案表.AddNew(); this.BindingContextds, 员工档案表.EndCurrentEdit(); this.BindingContextds, 员工档案表.AddNew(); /comboBox1.DataSource = ds; /comboBox1.DisplayMember = 员工档案表.性别; /comboBox1.ValueMember = 员工档案表.性别; comboBox1.Items.Add(男); comboBox1.Items.Add(女); private void toolStripButton2_Click(object sender, EventArgs e) / da.Update(ds, Stu2); /MessageBox.Show(Updata 4 ok is very good); toolStripButton5.Enabled = true; toolStripButton4.Enabled = true; /da.Update(ds, 员工档案表); / MessageBox.Show(修 改 成 功); private void toolStripButton3_Click(object sender, EventArgs e) string Y_ID=ds.Tables员工档案表.Rowsthis.BindingContextds,员工档案表.Position0.ToString(); DataRow drs = ds.Tables员工档案表.Select(Y-ID= + Y_ID + ); drs0.Delete(); da.Update(ds,员工档案表); MessageBox.Show(删除成功); private void toolStripButton6_Click(object sender, EventArgs e) this.Close(); private void toolStripButton4_Click(object sender, EventArgs e) if (!Regex.IsMatch(textBox4.Text.Trim(),d11,$) errorProvider1.SetError(textBox4,电话号码格式错误!); return; else if (!Regex.IsMatch(textBox5.Text.Trim(), d18,$) errorProvider2.SetError(textBox5, 身份证号码输入有误); return; else if(!Regex.IsMatch(textBox6.Text.Trim(),0-9*$) errorProvider3.SetError(textBox6,年龄输入有误); return; this.BindingContextds, 员工档案表.EndCurrentEdit(); Update(); MessageBox.Show(本次操作成功); private void toolStripButton5_Click(object sender, EventArgs e) this.BindingContextds, 员工档案表.CancelCurrentEdit(); MessageBox.Show(你有取消这次操作); 员工信息管理: 图:用户查询窗体代码:namespace 超市管理系统.用户信息管理 public partial class 用户信息查询 : Form public 用户信息查询() InitializeComponent(); public string connStr = server=.SQLEXPRESS;Database=CSGLXT;integrated security=true; public SqlConnection conn; public SqlCommand comm; public SqlCommandBuilder commBuilder; public SqlDataAdapter da; public DataSet ds; private void 用户信息查询_Load(object sender, EventArgs e) conn = new SqlConnection(connStr); comm = new SqlCommand(select * from 用户信息表, conn); da = new SqlDataAdapter(comm); ds = new DataSet(); commBuilder = new SqlCommandBuilder(da); da.Fill(ds,用户信息表); dataGridView1.DataSource = ds; dataGridView1.DataMember = 用户信息表; private void button5_Click(object sender, EventArgs e) comm.CommandText = select * from 用户信息表 where U-ID like % + textBox5.Text + %; ds.Clear(); da.Fill(ds, 用户信息表); private void button1_Click(object sender, EventArgs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论