C# 综合示例 库存管理系统20 操作员管理(FormAdmin)

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的

图99A-35 操作员管理窗口设计

 

增加操作员或者重置密码,密码都设置为默认的“123456”,操作员可以登录系统后再修改自己的密码。

全部代码如下:

        OleDbConnection connection;

 

        public static void ShowForm()

        {

            FormAdmin frm = new FormAdmin();

            frm.ShowDialog();

        }

        private void FormAdmin_Load(object sender, EventArgs e)

        {

            connection = new OleDbConnection(classMod.databaseConnString);

            //打开数据连接

            connection.Open();

 

            fillLv();

        }

 

        //填充数据选项,主要是 lvUser

        private void fillLv()

        {

            lvUser.Items.Clear();

 

            //新建OleDbCommand对象实例

            OleDbCommand command = new OleDbCommand();

 

            //=========填充用户列表==================

            //要执行的SQL查询

            command.CommandText = "select ID,姓名,是否停用 from 操作员 where id<>0";

            //设置OleDbCommand的数据连接为OleDbConnection

            command.Connection = connection;

 

            //声明OleDbDataReader对象

            OleDbDataReader odReader;

            //通过OleDbCommand的ExecuteReader方法获得OleDbDataReader对象实例。

            odReader = command.ExecuteReader();

 

            //如果OleDbDataReader中包含数据

            if (odReader.HasRows)

            {

                //循环读取每一行数据,直到Read方法返回False

                while (odReader.Read())

                {

                    ListViewItem lvi = new ListViewItem(odReader.GetValue(0).ToString());

                    lvi.SubItems.Add(odReader.GetValue(1).ToString());

                    lvi.SubItems.Add(odReader.GetValue(2).ToString());

                    lvUser.Items.Add(lvi);

                }

            }

            odReader.Close();

            //关闭数据读取器

            odReader.Close();

        }

 

 

        //增加操作员

        private void btnAdd_Click(object sender, EventArgs e)

        {

            string newUser = InputBox.ShowDialog("请输入操作员姓名:\r\n(新建操作员默认密码为:123456)", "增加操作员");

            if (newUser.Trim() == "")

            {

                MessageBox.Show("取消操作");

                return;

            }

 

            //关于加密,请参看教程第11章

            //这里使用简单的md5加密

            string pass = "123456";

            string passMd5 = ClassMd5.toMD5(pass);

 

            OleDbCommand command = new OleDbCommand();

            command.CommandText = "select top 1 ID from 操作员 order by ID desc";

            command.Connection = connection;

            OleDbDataReader odReader;

            int userid;

            odReader = command.ExecuteReader(CommandBehavior.SingleResult);

            odReader.Read();

            userid = (int)odReader.GetValue(0) + 1;

            odReader.Close();

 

            command.CommandText = "insert into 操作员(ID,姓名,密码,是否停用) values(" + userid + ",'" + newUser + "','" + passMd5 + "','否')";

            command.ExecuteNonQuery();

 

            //刷新lvUser中的显示

            fillLv();

        }

 

        //修改操作者的姓名

        private void btnEdit_Click(object sender, EventArgs e)

        {

            if (lvUser.SelectedItems.Count < 1)

            {

                MessageBox.Show("请先选择需要修改的操作员");

                return;

            }

 

            int UserID = int.Parse(lvUser.SelectedItems[0].Text);

            string userNameOld = lvUser.SelectedItems[0].SubItems[1].Text;

 

            string userNameNew;

            userNameNew = InputBox.ShowDialog("请输入操作员姓名:", "修改操作员姓名");

            if (userNameNew.Trim() == "")

            {

                MessageBox.Show("取消操作");

                return;

            }

 

            if (MessageBox.Show("确实要将操作员姓名从 " + userNameOld + " 替换为 " + userNameNew + " 吗?", "修改姓名", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.Cancel)

            {

                return;

            }

 

            //从数据库中修改

            //新建OleDbCommand对象实例

            OleDbCommand command = new OleDbCommand();

            //设置OleDbCommand的数据连接为OleDbConnection

            command.Connection = connection;

 

            command.CommandText = "update 操作员 set 姓名='" + userNameNew + "' where ID=" + UserID;

            command.ExecuteNonQuery();

 

            //刷新lvUser中的显示

            fillLv();

        }

 

        //启用或停用操作者

        //如果直接删除,可能会导致已经保存的数据出现问题

        private void btnUnable_Click(object sender, EventArgs e)

        {

            if (lvUser.SelectedItems.Count < 1)

            {

                MessageBox.Show("请先选择需要修改的操作员");

                return;

            }

            int UserID = int.Parse(lvUser.SelectedItems[0].Text);

            string userNameOld = lvUser.SelectedItems[0].SubItems[1].Text;

            string isUseOld = lvUser.SelectedItems[0].SubItems[2].Text;

 

            string isUseNew = isUseOld == "否" ? "是" : "否";

            string operation = isUseOld == "否" ? "停用" : "启用";

 

            if (MessageBox.Show("确实要" + operation + "操作员 " + userNameOld + " 吗?", operation + "操作员", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.Cancel)

                return;

 

            OleDbCommand command = new OleDbCommand();

            command.Connection = connection;

            command.CommandText = "update 操作员 set 是否停用='" + isUseNew + "' where ID=" + UserID;

            command.ExecuteNonQuery();

            //刷新lvUser中的显示

            fillLv();

        }

        //重置密码

        private void btnPass_Click(object sender, EventArgs e)

        {

            if (lvUser.SelectedItems.Count < 1)

            {

                MessageBox.Show("请先选择需要修改的操作员");

                return;

            }

 

            int UserID = int.Parse(lvUser.SelectedItems[0].Text);

            string userNameOld = lvUser.SelectedItems[0].SubItems[1].Text;

            if (MessageBox.Show("确实要重置操作员 " + userNameOld + " 的密码吗?\r\n(重置后的密码为:123456)", "重置密码", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.Cancel)

                return;

            string passMd5 = ClassMd5.toMD5("123456");

            OleDbCommand command = new OleDbCommand();

            command.Connection = connection;

            command.CommandText = "update 操作员 set 密码='" + passMd5 + "' where ID=" + UserID;

            command.ExecuteNonQuery();

        }

 

        private void btnClose_Click(object sender, EventArgs e)

        {

            Close();

        }

 

        private void FormAdmin_FormClosing(object sender, FormClosingEventArgs e)

        {

            connection.Close();

        }

 

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

.Net学习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值