WinForm(C#)+SQL Server实现超市消费管理系统

一 、导言:

        借着课程设计的机会自做了一个基于RFID的管理系统,这只包含了上位机部分,完善不是很好,仅供参考。

        界面包括:登录页面,注册页面,管理员页面,用户页面等;

管理员需要注册账号登录,用户是通过管理员进行添加,管理员可以更改用户所有信息;

文章结尾有完整的源代码展示!

二 、功能结构:

        8b1b37ef8933463a8a0d77aec93bad69.png

三 、运行界面

1、登录主页面

0117d3af726949f4a230c1909e598204.png

2、注册页面

9ec1277a844a4f0cba1c743d1def43f3.png

 3、管理员页面

d2ffa4c0edca45cc9f845dd2e2422ce9.png

4、添加用户页面 

5b086220f00440fb984401be4aabc991.png

5、修改用户页面 

06feb7c763544a7aa49041c098a6ab79.png

6、修改登录密码

11f2c5faaa1d45adb299f1e33207e53a.png

7、用户页面

1fcdc99de821453e8058c30bccdea08c.png

8、消费页面

e1c1ab1feb2f4a61846f77fdd7c28c8f.png

9、充值页面

5b67d29009e7452f90a506f21fb6b0be.png

10、修改密码页面   

2f6d754da57848e1866d182748bff6f2.png

四、数据库链接 

class Class1    //生成class1类,层层调用
    {
       // SqlConnection sc1;
        public SqlConnection connection()
        {
            string str = "Data Source=DESKTOP-FI4QIMK;Initial Catalog=超市消费信息管理;Integrated Security=True";
            SqlConnection sc = new SqlConnection(str);
            sc.Open();    //打开数据库链接
            return sc;
        }
        public SqlCommand command(string sql)
        {
            SqlCommand sc = new SqlCommand(sql, connection());
            return sc;
        }

五、部分代码分析 

1、登录页面

 private void button1_Click(object sender, EventArgs e)    //  登录
        {
            if (textBox1.Text == "" || textBox2.Text == "" || comboBox1.Text == "")
            {
                MessageBox.Show("请重新输入", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            if (comboBox1.Text == "顾客")
            {
                string sql = "select *from consumer where ID ='" + textBox1.Text + "'and PassWord ='" + textBox2.Text+"'";
                Class1 class1 = new Class1();
                IDataReader mn = class1.read(sql);
                if (mn.Read())
                {
                    string gID = mn["ID"].ToString();
                    string name = mn["Name"].ToString();
                    string ye = mn["YE"].ToString();
                    string jf = mn["JF"].ToString();
                    Form3 form3 = new Form3(gID,name,ye,jf);
                    form3.Show();
                    this.Hide();
                    serialPort1.Close();

                }
                else
                {
                    MessageBox.Show("输入信息有误,请重新输入", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    textBox2.Text = null;
                }
            }
            if (comboBox1.Text == "管理员")
            {
                string sql = "select *from manager where ID ='" + textBox1.Text + "'and PassWord ='" + textBox2.Text+"'";
                Class1 class1 = new Class1();
                IDataReader mn = class1.read(sql);
                if (mn.Read())
                {
                    string gID1 = mn["ID"].ToString();
                    Form2 form2 = new Form2(gID1);
                    form2.Show();
                    this.Hide();
                    serialPort1.Close();
                }
                else
                {
                    MessageBox.Show("输入信息有误,请重新输入", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    textBox2.Text = null;
                }
            }
        }

   2、注册页面

private void button2_Click(object sender, EventArgs e)    //    注册
        {
            if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "")
            {
                MessageBox.Show("输入信息不完整,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            if (textBox3.Text == textBox4.Text)
            {
                string sql = "insert into manager values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "')";
               // MessageBox.Show(sql);      //    测试数据库语句是否正确
                Class1 class1 = new Class1();
                class1.Excute(sql);
                MessageBox.Show("注册成功");
                this.Hide();// 添加顾客信息窗口隐藏
                serialPort1.Close();

            }
            else
            {
                MessageBox.Show("两次密码输入不一样,请重新输入!");
                textBox3.Text = null;
                textBox4.Text = null;
            }
        }

   3、管理员页面

 private void toolStripButton1_Click(object sender, EventArgs e)      //    添加
        {
            Form22 form22 = new Form22();
            form22.ShowDialog();
            this.Hide();
           Form2 form2 = new Form2(gid);
            Table();
            form2.Show();  
           
        }
    

        private void toolStripButton2_Click(object sender, EventArgs e)      //    修改
        {
        string[] str = { dataGridView1.SelectedCells[0].Value.ToString(), dataGridView1.SelectedCells[1].Value.ToString(), dataGridView1.SelectedCells[2].Value.ToString(), dataGridView1.SelectedCells[3].Value.ToString() };
        //    MessageBox.Show(str[0] + str[1]); // 测试显示信息
        Form21 form21 = new Form21(str);// 通过构造方法传到窗体中去
        form21.ShowDialog();
        this.Hide();
         Table();
        Form2 form2 = new Form2(gid);
        form2.Show();
    }

        private void toolStripButton3_Click(object sender, EventArgs e)    //    删除
        {
            DialogResult r = MessageBox.Show("是否删除", "提示", MessageBoxButtons.OKCancel);
            if (r == DialogResult.OK)
            {
                string ID, Name, YE, JF;
                ID = dataGridView1.SelectedCells[0].Value.ToString();
                Name = dataGridView1.SelectedCells[1].Value.ToString();
                YE = dataGridView1.SelectedCells[2].Value.ToString();
                JF = dataGridView1.SelectedCells[3].Value.ToString();
                string sql = "delete from consumer where ID ='" + ID + "'and Name='" + Name + "'and YE = '"+YE+"'and JF = '"+JF+"'";
              //  MessageBox.Show(sql);     //      测试显示信息
                Class1 class1 = new Class1();
                class1.Excute(sql);
                this.Hide (); 
                Table();
                Form2 form2 = new Form2(gid);
                form2.ShowDialog();
            }
        }

        private void button1_Click(object sender, EventArgs e)           //   退出按键
        {
            Application.Exit();    //   结束整个系统
        }

       

        private void Form2_Load(object sender, EventArgs e)
        {
            timer1.Start();
        }
        private void toolStripButton4_Click(object sender, EventArgs e)  //  注销
        {
            DialogResult a = MessageBox.Show("是否注销!", "提示", MessageBoxButtons.OKCancel);
            if (a == DialogResult.OK)
            {
                string sql = "delete from manager where ID = '" + gid + "'";
                // MessageBox.Show(sql); 
                Class1 class2 = new Class1();
                class2.Excute(sql);
                MessageBox.Show("注销成功!");
                Application.Exit();
            }
        }

        private void toolStripButton5_Click(object sender, EventArgs e)  //   改密
        {
            Form23 form23 = new Form23(gid);
            form23.ShowDialog();
            this.Hide();
            Form2 form2 = new Form2(gid);
           // Table();
            form2.Show();
        }

 4、用户页面

private void toolStripButton4_Click(object sender, EventArgs e)   //  注销
        {
            DialogResult a = MessageBox.Show("是否注销!", "提示", MessageBoxButtons.OKCancel);
            if (a == DialogResult.OK)
            {
                string sql = "delete from consumer where ID = '" + GID1+ "'";
                // MessageBox.Show(sql); 
                Class1 class2 = new Class1();
                class2.Excute(sql);
                MessageBox.Show("注销成功!");
                Application.Exit();
            }
        }

        private void toolStripButton1_Click_1(object sender, EventArgs e) //   购物
        {
            Form31 form31 = new Form31(GID1, Name1, YE1, JF1);
            form31.ShowDialog();
            this.Hide();
        }

       

        private void toolStripButton2_Click(object sender, EventArgs e)   //  充值
        {
            Form32 form32 = new Form32(GID1, Name1, YE1, JF1);
            form32.ShowDialog();
            this.Hide();
        }

        private void toolStripButton3_Click(object sender, EventArgs e)    //   改密
        {
            Form33 f = new Form33(GID1);
            f.ShowDialog();
        }

由于内容较多就不全部展示了,全部内容放在下方的源代码中

六、源代码展示 

本文展示部分的代码,完整代码在下方的百度网盘里,有需要的可以自行提取:

链接:https://pan.baidu.com/s/1LC-qW2wTvBtYzRFVnEz1qQ?pwd=ojbk 
提取码:ojbk

有问题可以联系我! 

欢迎指教!

目  录 1 引 言 1 1.1课程设计选题 1 1.2课程设计的目的 1 1.3本选题的设计背景 1 2 系统分析与设计 2 2.1 功能及性能分析 2 2.1.1 功能需求 2 2.1.2 性能需求 2 2.2 系统的开发运行环境 3 2.3 系统总体设计 3 3 数据库设计 4 3.1 数据库概念结构 4 3.2 数据库逻辑结构 6 3.2.1 关系模型 6 3.2..2视图的设计 8 3.3 数据库的实现 8 3.3.1表 8 4 详细设计与实现 11 4.1 登录模块 11 4.2 入库模块 11 4.3 员工管理模块 12 4.4 财务管理模块 13 4.5 销售管理模块 14 结  论 14 参 考 文 献 15 附录 15 1 引 言 1.1课程设计选题 《超市管理系统》 1.2课程设计的目的 通过数据库系统课程设计,熟悉了SQL SERVER数据库管理系统的结构与组成;掌握了SQL SERVER数据库管理系统的应用技术和的使用;应用JSP开发工具实践了《学生选课管理系统》的数据库应用系统的设计方法、开发过程和SQL SERVER数据库的管理与维护。最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。 1.3本选题的设计背景 超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。商店自动化的产品管理在欧美等国家早已经实现,也是零售业管理的基础。它最主要的特点是能够实时的和准确的控制店内的销售情况。如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务 随着小超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长。超市时时刻刻都需要对商品各种信息进行统计分析。而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。 超市管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:系统权限的设定、原始数据录入、数据的汇总及查询等。从而,实现对进货、销售及员工信息等实现全面、动态、及时的管理。 2.1 功能及性能分析 2.1.1 功能需求 整个系统基本包括了小型超市所要用到的模块。包括收款操作,库存查询,填写资金支出表,采购管理,库存管理,销售管理,资金管理,员工管理等。 1. 库存管理: 综合查询库存明细记录。 仓库信息搜索。仓库调度以及仓库货物信息查询。 2、商品录入:根据超巿业务特点制定相关功能,可以通过输入商品名称等来实现精确或模糊的商品录入。其中将商品划分成不同的类型,方便管理和查询。 3. 财务管理:通过直接输入商品名称系统自动显示该商品的详细信息。明确显示折扣,现卖价,以及仓库剩余量,自动计算本次交易的总金额和判断购买数量的准确性。如果顾客是本店会员并持有本人会员卡,则在交易时选择顾客类型,并对所购物品全部实行等级折扣优惠,并将所购物品的总金额累计到该会员的总消费金额中。 4、 进货管理: 根据销售情况及库存情况,制定进货计划(亦可手工制定修改),强大的查询功能可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询进货与入库记录及金额。 5. 销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。 6. 员工管理:基本信息登记管理。 员工操作权限管理。 客户销售权限管理。信息查询,修改更新,已经删除。 7. 安全性:对每位员工进行权限限制。其中超市管理员具有最高权限。根据工作类型的不同现实相应系统的不同部分,避免了非法操作。 8、资金管理:系统采用每日自动报帐及报帐查询,用户可以按照自己的需要进行某个时间段的查询,查看订货情况,销售情况,财务支出收益情况,最终计算出此段时间内运营成本和销售利润,结算出最终的利润。 9. 供货商管理:对供货商基本信息进行登记管理,通过基本信息进行查询,修改更新,删除 2.2 系统的开发运行环境 本系统开发平台: jsp + sql server 2000 本系统采用架构: petshop 本系统运行环境: windows xp 或以上版本
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有你真好...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值