c#图书管理系统

通过C#设计图书管理系统来实现对图书的借阅和归还操作。同时使用数据库存放数据或使用集合来编写。

借阅图书界面,连上,借出图书,库存量随之减少 。

若借阅某本图书,其接到最后库存为零,则会提示库存不足,联系管理员加。

以下是代码:

namespace WindowsFormsApp2
{
    public partial class Borrow : Form
    {
        public Borrow()
        {
            InitializeComponent();
            Table();
            
        }
        public void Table()//从数据库读取数据显示在表格的控件当中
        {
            dataGridView1.Rows.Clear();//每次输入前,清楚控件中已有旧数据
            Dao dao = new Dao();
            string sql = "select *from t_book";
            IDataReader dc = dao.read(sql);
            while (dc.Read())
            {
                dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString(), dc[3].ToString(), dc[4].ToString(), dc[5].ToString());
            }
            dc.Close();
            dao.DaoClose();
        }
        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//获取书号
            int number = int.Parse(dataGridView1.SelectedRows[0].Cells[4].Value.ToString());//获取库存
            if (number < 1)
            {
                MessageBox.Show("库存不足");
                MessageBox.Show("请联系管理员");
            }
            else
            {
                string sql = $"insert into t_borrow([uid],bid,[datetime])values('{Data.UID}','{id}',getdate());update t_book set number=number-1 where id='{id}'";
                Dao dao = new Dao();
                if (dao.Execute(sql) > 1)//执行两条sql语句才成功
                {
                    MessageBox.Show($"用户{Data.Uname}借出了图书{id}!");
                }
            }
            Table();
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            label2.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString() + dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//默认选中第一行
        }
    }
}

归还图书界面,借出书目编号依次递增,表中显示所借所有书目名称,然后选中需要归还的图书,归还,借书界面的库存也会增加。

以下是代码:

namespace WindowsFormsApp2
{
    public partial class Back : Form
    {
        public Back()
        {
            InitializeComponent();
            Table();
        }
        public void Table()//从数据库读取数据显示在表格的控件当中
        {
            dataGridView1.Rows.Clear();//每次输入前,清楚控件中已有旧数据
            Dao dao = new Dao();
            string sql = $"select [No],[bid],[datetime] from t_borrow where [uid]='{Data.UID}'";
            IDataReader dc = dao.read(sql);
            while (dc.Read())
            {
                dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString());
            }
            dc.Close();
            dao.DaoClose();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            string No = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//获取借书编号
            string id = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//获取书号
            string sql = $"delete from t_borrow where [No] = {No}; update t_book set number = number + 1 where id = '{id}'";
            Dao dao = new Dao();
            if(dao.Execute(sql)>1)
            { 
                MessageBox.Show("归还成功");
                Table();
            }
           
        }

猜你喜欢

转载自blog.csdn.net/qq_64573579/article/details/127839459