图书管理系统

1 篇文章 0 订阅
1 篇文章 0 订阅

历经一段时间的静默,今天作者带来了图书管理系统,下面,作者来介绍一下
1、数据库的创建:
首先我要从需求上分析,我们需要做哪些事情:读者可以借书,还书,查询哪些书可以借出去;然后会想到这些事情的参与者:读者借书,还书,书籍管理员来借出书与收回书,查询读者的借书情况;再深入地想到:为什么读者可以查询哪些书可以借出去,或自己借了哪些书,为什么不同级别的读者能够借书的时间也不同;管理员为什么可以去管理书籍情况与读者借书情况;这样就出现了一个权限关系。
如下:

create database LibrarySystem
use LibrarySystem
--角色表
create table Role(
	roleID bigint identity(1,1) not null primary key,
	roleName varchar(50) not null 
)
--读者等级表
create table ReaderGrade(
	grandID bigint identity(1,1) not null primary key,
	grandName varchar(50) null,
	quantity int not null,
	dateAmount int not null
)
--类别
use LibrarySystem
drop table booktype
alter table booktype
alter column typeName varchar(50) not null
create table BookType(
	typeID bigint identity(1,1) not null primary key,
	typeName varchar not null
)
--书籍表
create table Books(
	bookID bigint identity(1,1) not null primary key,
	bookName varchar(50) not null,
	bookQuantity int not null,
	price int not null,
	author varchar(50) not null,
	bookConcern varchar(50) null,
	bookCode varchar(50) not null,
	typeID bigint not null foreign key(typeID) references bookType(typeID)
)
--读者表
create table Reader(
	readerID bigint identity(1,1) not null primary key,
	readerName varchar(50) not null,
	readerPass varchar(50) not null,
	realityName varchar(50) not null,
	address varchar(50) null,
	phone varchar(50) null,
	roleID bigint not null foreign key(roleID) references Role(roleID),
	grandID bigint not null foreign key(grandID) references ReaderGrade(grandID)
)
--管理员表
create table Manager(
	managerID bigint identity(1,1) primary key,
	manageName varchar(50) not null,
	managePass varchar(50) not null,
	realtyName varchar(50) not null,
	address varchar(50) null,
	phone varchar(50) null,
	roleID bigint not null foreign key(roleID) references Role(roleID),
	dutyDate smallDateTime not null,
	leaveDate smallDateTime not null
)
--借书表
create table BorrowBook(
	borrowID bigint identity(1,1) not null primary key,
	readerID bigint not null foreign key(readerID) references Reader(readerID),
	managerID bigint not null foreign key(managerID) references Manager(managerID),
	borrowDate smallDateTime not null,
	restoreDate smallDateTime not null,
	bookStart varchar(50) null
)
alter table borrowbook
add  bookID bigint not null foreign key(bookID) references Books(bookID)

数据库表之间的关系
数据库表之间的关系
2、图书管理系统的架构
在这里插入图片描述
简单整理了一下关系,方便理清关系,操作项目是逻辑清晰
3、图书管理系统的界面设计附代码
①登录界面
在这里插入图片描述
登录分为两大部分,管理员和学生

namespace 图书管理系统
{
    public partial class Form1 : Form
    {
        public string name;
        string strConn = "Data Source=(local);Initial Catalog =LibrarySystem;User ID=sa;Password=111111";
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //this.BackgroundImageLayout = ImageLayout.Stretch;
            this.comboBox1.Items.Add("学生登录");
            this.comboBox1.Items.Add("管理员登录");
            this.comboBox1.SelectedIndex = 1;
        }

        private void button1_Click(object sender, EventArgs e)
        {

            string s = this.comboBox1.Text.ToString();
            if (s == "学生登录")
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    string sql = @"select count(*) from reader where readerid=@id and readerpass=@pass";
                    SqlParameter[] para = new SqlParameter[] {
                        new SqlParameter("@id",this.textBox1.Text.ToString()),
                        new SqlParameter("@pass",this.textBox2.Text.ToString())
                    };
                    int x = (int)SqlHelper.ExexuteScalar(sql,para);
                    if (x > 0)
                    {
                        string sql2 = @"select readername from reader where readerid=@id";
                        SqlParameter[] para2 = new SqlParameter[] {
                            new SqlParameter("@id",this.textBox1.Text.ToString())
                        };
                        string str = SqlHelper.ExexuteScalar(sql2,para2).ToString();
                        Form3 f3 = new Form3();
                        f3.name = this.textBox1.Text.ToString();
                        f3.name1 = str;
                        this.Hide();
                        f3.Show();
                        f3.系统管理ToolStripMenuItem.Enabled = false;
                        f3.书籍管理ToolStripMenuItem.Enabled = false;
                        
                    }
                    else {
                        MessageBox.Show("您输入的账号或密码有误!请重新输入");
                    }
                }
            } else if (s=="管理员登录") {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    string sql = @"select count(*) from manager where managerid=@id and managepass=@pass";
                    SqlParameter[] para = new SqlParameter[] {
                        new SqlParameter("@id",this.textBox1.Text.ToString()),
                        new SqlParameter("@pass",this.textBox2.Text.ToString())
                    };
                    int x = (int)SqlHelper.ExexuteScalar(sql, para);
                    if (x > 0)
                    {
                        //string sql3 = @"select manageName from manager where managerID=@id";
                        //SqlParameter[] para3 = new SqlParameter[] {
                        //    new SqlParameter("@id",this.textBox1.Text.ToString())
                        //};
                        //string str = SqlHelper.ExexuteScalar(sql3, para3).ToString();
                        Form3 f3 = new Form3();
                        f3.name = this.textBox1.Text.ToString();
                        f3.mname = this.textBox1.Text.ToString();
                        //f3.name1 = str;
                        f3.用户信息ToolStripMenuItem.Enabled = false;
                        this.Hide();
                        f3.Show();
                    }
                    else
                    {
                        MessageBox.Show("您输入的账号或密码有误!请重新输入");
                    }
                 }
                }
            else if (this.textBox1.Text.Trim().Equals("")) {
                MessageBox.Show("用户名不可为空");
            } else if (this.textBox2.Text.Trim().Equals("")) {
                MessageBox.Show("密码不可为空");
            }
            else {
                MessageBox.Show("您输入有误!");
            }
          }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {
            Form3 f3 = new Form3();
            f3.name = this.textBox1.Text;
            MessageBox.Show(f3.name);
        }
    }
}

②主界面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本页面是图书管理系统的核心,是所有界面管理的中转中枢
作者用的管理员身份登录,权限全开,若果只是用户登录,系统管理和书籍管理不对用户开放

namespace 图书管理系统
{
    public partial class Form3 : Form
    {
        public string name;
        public string name1;
        public string mname;
        string strConn = "Data Source=(local);Initial Catalog =LibrarySystem;User ID=sa;Password=111111";
        public Form3()
        {
            InitializeComponent();
        }

        private void Form3_Load(object sender, EventArgs e)
        {
            

            this.BackgroundImageLayout = ImageLayout.Stretch;
            // Form3 f3 = new Form3();
            this.label8.Text = name;
            this.label9.Text = name1;
            this.label10.Text = mname;
            //this.label8.Text = "测试";

            using (SqlConnection conn=new SqlConnection(strConn)) {
                string sql = "select * from manager";
                SqlCommand cmd = new SqlCommand(sql,conn);
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dataGridView2.DataSource = ds.Tables[0];
            }
            using (SqlConnection conn1 = new SqlConnection(strConn))
            {
                string sql1 = "select * from reader";
                SqlCommand cmd1 = new SqlCommand(sql1, conn1);
                conn1.Open();
                SqlDataAdapter da1 = new SqlDataAdapter(cmd1);
                DataSet ds1 = new DataSet();
                da1.Fill(ds1);
                dataGridView1.DataSource = ds1.Tables[0];


                comboBox1.Items.Add("普通用户");
                comboBox1.Items.Add("管理员");

                comboBox2.Items.Add("青铜读者");
                comboBox2.Items.Add("白银读者");
                comboBox2.Items.Add("黄金读者");
                comboBox2.Items.Add("钻石读者");
                comboBox2.Items.Add("黑金读者");
                //this.comboBox2.SelectedIndex = 4;

                
            }
        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {
            
        }

        private void 书籍管理ToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void 账户管理ToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void 退出系统ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Form1 f1 = new Form1();
            f1.Close();
            this.Close();
        }

        private void tabPage1_Click(object sender, EventArgs e)
        {

        }

        private void menuStrip2_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {

        }

        private void label6_Click(object sender, EventArgs e)
        {

        }

        private void label4_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (this.comboBox1.Text=="普通用户") {
                SqlConnection conn = new SqlConnection(strConn);
                string sql2 = "select grandid from readergrade where grandname=@name";
                SqlParameter[] para = new SqlParameter[] {
                    new SqlParameter("@name",this.comboBox2.Text)
                };
                string s = SqlHelper.ExexuteScalar(sql2, para).ToString();
                string sql3 = "select roleid from role where rolename=@name";
                SqlParameter[] para3 = new SqlParameter[] {
                    new SqlParameter("@name",this.comboBox1.Text)
                };
                string s1 = SqlHelper.ExexuteScalar(sql3, para3).ToString();

                string sql = string.Format("insert into reader (readername,readerpass,realityname,grandid,roleid) values ('{0}','{1}','{2}','{3}','{4}')",this.textBox1.Text,this.textBox2.Text,this.textBox3.Text,s,s1);
                SqlCommand cmd = new SqlCommand(sql, conn);
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds,"reader");
                dataGridView1.DataSource = ds.Tables["reader"];
                MessageBox.Show("添加成功");
            } else if (this.comboBox1.Text=="管理员") {
                SqlConnection conn = new SqlConnection(strConn);
                string sql = string.Format("insert into manager (managename,managepass,realityname) values ('{0}','{1}','{2}')", this.textBox1.Text, this.textBox2.Text, this.textBox3.Text);
                SqlCommand cmd = new SqlCommand(sql, conn);
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dataGridView1.DataSource = ds.Tables[0];
                MessageBox.Show("添加成功");
            }
            else {
                MessageBox.Show("输入有误!");
            }
        }

        private void 用户管理ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.tabControl1.Visible = true;
        }

        private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void 密码修改ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmChangePass fc = new frmChangePass();
            fc.name = label8.Text;
            fc.Show();
            
        }

        private void 系统管理ToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {
            frmChangePass fc = new frmChangePass();
            fc.name = this.name;
            MessageBox.Show(this.name);
        }

        private void label8_Click(object sender, EventArgs e)
        {

        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void 书籍录入ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmBookEnter fe = new frmBookEnter();
            fe.Show();
        }

        private void 统计ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmStat fs = new frmStat();
            fs.Show();
        }

        private void 借书ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmBorrowManage fb = new frmBorrowManage();
            fb.mname = this.mname;
            fb.Show();
        }

        private void 还书ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmBackManage fb = new frmBackManage();
            fb.Show();
        }

        private void 借书者信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmBorrowerInfoManage fbi = new frmBorrowerInfoManage();
            fbi.Show();
        }

        private void 书籍管理ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            frmBookManage fb = new frmBookManage();
            fb.Show();
        }

        private void 查询可借书籍ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("此功能正在维护,暂不支持!");
            //frmSelectAllowBorrowBooks fs = new frmSelectAllowBorrowBooks();
            //fs.Show();
        }

        private void 查询ToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            MessageBox.Show("此功能正在维护,暂不支持!");
            //FrmSelectedBorrowBooks fs = new FrmSelectedBorrowBooks();
            //fs.Show();
        }

        private void 用户信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmUserInfo fu = new frmUserInfo();
            fu.name1 = this.name1;
            fu.Show();
        }

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.label11.Visible = true;
            this.label12.Visible = true;
            string s = this.comboBox2.Text;
            switch (s)
            {
                case "青铜读者":
                    this.label11.Text = "可借书3本";
                    this.label12.Text = "还书期限为7天";
                    break;
                case "白银读者":
                    this.label11.Text = "可借书5本";
                    this.label12.Text = "还书期限为9天";
                    break;
                case "黄金读者":
                    this.label11.Text = "可借书7本";
                    this.label12.Text = "还书期限为15天";
                    break;
                case "钻石读者":
                    this.label11.Text = "可借书10本";
                    this.label12.Text = "还书期限为30天";
                    break;
                case "黑金读者":
                    this.label11.Text = "可借书999本";
                    this.label12.Text = "还书期限为999天";
                    break;
                default:
                    this.label11.Text = "";
                    this.label12.Text = "";
                    break;
            }
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }
    }
}

③借书、还书
本环节是本系统的核心环节
在这里插入图片描述
在这里插入图片描述
我们在这个窗体里,只有存在的书才可以借阅,只有用户还存在可以借书的权限,才可以借阅。
在读者输入用户名后,我们查询出此用户借书的相关权限,并显示在界面上。

当我们去图书馆去还书时,会跟据用户名,查询出读者借了哪些书,然后会在这些书里去选择要还的是哪本书。所以在输入用户名并点击确定后,会在书籍的下拉框里绑定用户借了哪些书。
如果此用户借过书,那么便可以还书。如果此用户没借过书,则不能还书,并且“确定归还”按钮不可点击。在点击清空时,将文本清空。最后,点击还书时,实现还书功能。

namespace 图书管理系统
{
    public partial class frmBorrowManage : Form
    {
        public string mname;
        static string strConn = "Data Source=(local);Initial Catalog =LibrarySystem;User ID=sa;Password=111111";
        public frmBorrowManage()
        {
            InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string sql = @"select rg.quantity from readergrade rg inner join reader r on rg.grandid=r.grandid where readername=@name";
            SqlParameter[] para = new SqlParameter[] {
                new SqlParameter("@name",this.textBox2.Text.ToString())
            };
            int x=(int)SqlHelper.ExexuteScalar(sql,para);
            this.label6.Text = ("您共可以借"+x+"本书");
            //
            this.label7.Text = ("您已经借了" + x + "本书");
            //
            this.label5.Text = ("您还可以借" + x + "本书");
            this.label5.Visible = true;
            this.label6.Visible = true;
            this.label7.Visible = true;

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string sql = @"select count(*) from books where bookname=@name";
            SqlParameter[] para = new SqlParameter[] {
                new SqlParameter("@name",this.textBox1.Text.ToString())
            };
            int x=(int)SqlHelper.ExexuteScalar(sql,para);
            if (x > 0)
            {
                //    string sql1 = @"select * from books where bookname=@name";
                //    SqlParameter[] para1 = new SqlParameter[] {
                //    new SqlParameter("@name",this.textBox1.Text.ToString())
                //};
                //SqlHelper.ExexuteScalar(sql1, para1);
                //dataGridView1.DataSource = SqlHelper.ExexuteScalar(sql1, para1);
                SqlConnection conn1 = new SqlConnection(strConn);
                string sql1 = string.Format("select * from books where bookname='{0}'",this.textBox1.Text);
                SqlCommand cmd1 = new SqlCommand(sql1, conn1);
                conn1.Open();
                SqlDataAdapter da = new SqlDataAdapter(cmd1);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dataGridView1.DataSource = ds.Tables[0];
            }
            else {
                MessageBox.Show("您查询的书籍不存在");
            }
        }

        private void frmBorrowManage_Load(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {
            using (SqlConnection conn=new SqlConnection(strConn)) {
                string sql = "select bookQuantity from books where bookName=@name";
                SqlParameter[] para = new SqlParameter[] {
                    new SqlParameter("@name",this.textBox1.Text.ToString())
                };
                int x=(int)SqlHelper.ExexuteScalar(sql,para);
                //判断书籍数量是否充足
                if (x > 0)
                {
                    string sql1 = @"update books set bookQuantity=@num where bookname=@name";
                    SqlParameter[] para1 = new SqlParameter[] {
                        new SqlParameter("@num",x-1),
                        new SqlParameter("@name",this.textBox1.Text.ToString())
                    };
                    //查询读者ID
                    string sql3 = "select readerid from reader where readername=@rid";
                    SqlParameter[] para3 = new SqlParameter[] {
                        new SqlParameter("@rid",this.textBox2.Text.ToString())
                    };
                    string rid = SqlHelper.ExexuteScalar(sql3, para3).ToString();
                    //查询管理员ID
                    string sql4 = "select managerID from Manager where managerID=@mid";
                    SqlParameter[] para4 = new SqlParameter[] {
                        new SqlParameter("@mid",mname)
                    };
                    string mid = SqlHelper.ExexuteScalar(sql4, para4).ToString();
                    //查询书籍ID
                    string sql5 = "select bookid from books where bookname=@bid";
                    SqlParameter[] para5 = new SqlParameter[] {
                        new SqlParameter("@bid",this.textBox1.Text.ToString())
                    };
                    string bid = SqlHelper.ExexuteScalar(sql5, para5).ToString();
                    //向借书表中添加借书记录
                    string sql2 = @"insert into BorrowBook (readerid,managerid,borrowdate,restoreDate,bookID) values (@rid,@mid,@bdate,@rdate,@bid)";
                    SqlParameter[] para2 = new SqlParameter[] {
                        new SqlParameter("@rid",rid),
                        new SqlParameter("@mid",mid),
                        new SqlParameter("@bdate",DateTime.Now.ToString()),
                        new SqlParameter("@rdate",DateTime.Now.ToString()),
                        new SqlParameter("@bid",bid)
                    };
                    SqlHelper.ExecuteNonquery(sql2, para2);
                    SqlHelper.ExecuteNonquery(sql1, para1);
                    MessageBox.Show("借书成功!");
                }
                else {
                    MessageBox.Show("本书籍库存不足!");
                }
            }
            
                
        }
    }
}

还书

namespace 图书管理系统
{
    public partial class frmBackManage : Form
    {
        string strConn = "Data Source=(local);Initial Catalog =LibrarySystem;User ID=sa;Password=111111";
        public frmBackManage()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void label3_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            using (SqlConnection conn=new SqlConnection(strConn)) {
                string sql = @"select count(*) from borrowbook b inner join reader r on b.readerid=r.readerid where readername=@name";
                SqlParameter[] para = new SqlParameter[] {
                    new SqlParameter("@name",this.textBox1.Text.ToString())
                };
                int x =(int) SqlHelper.ExexuteScalar(sql,para);
                if (x > 0)
                {
                    this.button2.Enabled = true;
                    using (SqlConnection conn2=new SqlConnection(strConn)) {
                        //借书表中的书籍添加到combobox中
                        //string sql7 = string.Format("select bookid from ");

                        string sql2 = string.Format("select bk.bookname from borrowbook b inner join books bk  on b.bookid=bk.bookid inner join reader r on r.readerid=b.readerID where r.readername='{0}'",this.textBox1.Text);
                        
                        SqlCommand cmd2 = new SqlCommand(sql2, conn2);
                        conn2.Open();
                        SqlDataAdapter da = new SqlDataAdapter(cmd2);
                        DataSet ds = new DataSet();
                        da.Fill(ds,"bookname");
                        this.comboBox1.DataSource=ds.Tables["bookname"];
                        comboBox1.DisplayMember = "bookname";


                        //string str = SqlHelper.ExexuteScalar(sql2, para2).ToString();
                        //this.comboBox1.Items.Add(ds.Tables[0].ToString());
                    }
                }
                else {
                    MessageBox.Show("无借书记录");
                }
            }
        }

        private void frmBackManage_Load(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                //查询书籍当前数量
                string sql4 = "select bookQuantity from books where bookName=@name";
                SqlParameter[] para4 = new SqlParameter[] {
                            new SqlParameter("@name",this.comboBox1.Text)
                        };
                int a = (int)SqlHelper.ExexuteScalar(sql4, para4);
                //还书库存+1
                string sql3 = @"update books set bookQuantity=@num where bookname=@name";
                SqlParameter[] para3 = new SqlParameter[] {
                            new SqlParameter("@name",this.comboBox1.Text),
                            new SqlParameter("@num",a+1)
                        };
                SqlHelper.ExecuteNonquery(sql3, para3);
                //还书后删除借书记录
                string sql6 = @"select bookid from books where bookname=@name";
                SqlParameter[] para6 = new SqlParameter[] {
                            new SqlParameter("@name",this.comboBox1.Text)
                        };
                string id = SqlHelper.ExexuteScalar(sql6, para6).ToString();

                string sql5 = @"delete from borrowbook where bookid=@id";
                SqlParameter[] para5 = new SqlParameter[] {
                            new SqlParameter("@id",id)
                        };
                SqlHelper.ExecuteNonquery(sql5, para5);

                MessageBox.Show("还书成功!");
                
            }
        }
    }
}

④书籍录入
功能:
完成书籍录入功能,类型:绑定数据库中的书籍类型。
完成重置和取消功能。
在这里插入图片描述

namespace 图书管理系统
{
    public partial class frmBookEnter : Form
    {
        string strConn = "Data Source=(local);Initial Catalog =LibrarySystem;User ID=sa;Password=111111";
        public frmBookEnter()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
                    using (SqlConnection conn2 = new SqlConnection(strConn))
                    {
                        string sql2 = string.Format("select typeID from BookType where typeName='{0}'", this.comboBox1.Text);
                        SqlCommand cmd2 = new SqlCommand(sql2, conn2);
                        conn2.Open();
                        string str=cmd2.ExecuteScalar().ToString();
                        
                        string sql = @"insert into books (bookcode,bookname,author,bookconcern,price,bookQuantity,typeid) values (@code,@name,@au,@bcon,@pr,@bq,@tid)";
                        SqlParameter[] para = new SqlParameter[] {
                            new SqlParameter("@code",this.textBox2.Text.ToString()),
                            new SqlParameter("@name",this.textBox1.Text.ToString()),
                            new SqlParameter("@au",this.textBox3.Text.ToString()),
                            new SqlParameter("@bcon",this.textBox4.ToString()),
                            new SqlParameter("@pr",this.numericUpDown1.Value.ToString()),
                            new SqlParameter("@bq",this.numericUpDown2.Value.ToString()),
                            new SqlParameter("@tid",str),
                        };
                        SqlHelper.ExecuteNonquery(sql, para);
                        MessageBox.Show("添加成功!");
                    }
            
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.textBox1.Clear();
            this.textBox2.Clear();
            this.textBox3.Clear();
            this.textBox4.Clear();
            this.numericUpDown1.Value = 0;
            this.numericUpDown2.Value = 0;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frmBookEnter_Load(object sender, EventArgs e)
        {
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                string sql = string.Format("select typeName from BookType");

                SqlCommand cmd = new SqlCommand(sql, conn);
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds, "typeName");
                this.comboBox1.DataSource = ds.Tables["typeName"];
                comboBox1.DisplayMember = "typeName";
            }
        }
    }
}

⑤用户管理
密码修改
在这里插入图片描述
当我们加载此窗体时,会在用户名文本框里显示用户名。
当点击取消按钮时,会取消当前页面的操作。
我们在修改用户密码时,这需要我们验证用户是否是正常的操作。如果用户输入为空,原始密码为空或者不正确,新密码为空、确认密码或者和新密码不一致,则提示用户。


namespace 图书管理系统
{
    public partial class frmChangePass : Form
    {
        public string name;
        static string strConn = "Data Source=(local);Initial Catalog =LibrarySystem;User ID=sa;Password=111111";
        public frmChangePass()
        {
            InitializeComponent();
        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void frmChangePass_Load(object sender, EventArgs e)
        {
            //Form3 f3 = new Form3();
            //frmChangePass fc = new frmChangePass();
            this.textBox1.Text = name;
            //this.textBox1.Text = "测试";
            
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            MessageBox.Show(name);
        }

        private void button3_Click_1(object sender, EventArgs e)
        {
            MessageBox.Show(name);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string sql = "select readerid from reader";
            string str = SqlHelper.ExexuteScalar(sql).ToString();
            //this.textBox1.Text = ("");
            if (this.textBox2.Text == str)
            {
                string str2 = this.textBox4.Text.ToString();
                if (this.textBox4.Text == str2)
                {
                    string sql2 = "update reader set readerpass=@pass where readerid=@id";
                    SqlParameter[] pare2 = new SqlParameter[] {
                    new SqlParameter("@pass",this.textBox3.Text.ToString()),
                    new SqlParameter("@id",name)

                };
                    SqlHelper.ExecuteNonquery(sql, pare2);
                }
                else
                {
                    MessageBox.Show("两次密码输入不一致");
                }
            }
            else
            {
                MessageBox.Show("原密码错误!");
            }
        }
    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值