C#实现图书管理系统(课程设计)——第四步、借书界面及操作

C#实现图书管理系统(课程设计)——第四步、借书界面及操作

上一篇链接

(1)借书界面设计

C#实现图书管理系统(课程设计)——第四步、借书界面及操作_第1张图片

两种方式借书,全中文或者全编号

(2)两处源代码

rentfor.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using Util;
using Model;
using System.IO;

namespace rentf
{
    public class Rentfor
    {
        public Rentfor()
        {
        }
        public Boolean Rent (string tname, string bname)
        {
            bool flag = false;
            SqlConnection sqlCon;
            sqlCon = DbUtil.getConnection();
            sqlCon.Open();
            try
            {
                string sqlinsert= "insert rent(学号,编号) select 学号,编号 from Student,books where 姓名='" + tname+"' and 书名='"+bname+ "';update books set 剩余数量=剩余数量-1 where 书名='" + bname + "'";
                SqlCommand command = new SqlCommand(sqlinsert, sqlCon);
                int result = command.ExecuteNonQuery();
                if (result == 2) { flag = true; }
                else
                {
                    flag = false;
                }
            }
            catch(Exception e)
            { }
            return flag;
            
        }

        //重载方法
        public Boolean Rent(int tid, int bid)
        {
            bool flag = false;
            SqlConnection sqlCon;
            sqlCon = DbUtil.getConnection();
            sqlCon.Open();
            try
            {
                string sqlinsert = "insert rent(学号,编号) values(@tid,@bid);update books set 剩余数量=剩余数量-1 where 编号='" + bid + "'";
                SqlCommand command = new SqlCommand(sqlinsert, sqlCon);
                command.Parameters.AddWithValue("@tid", tid);
                command.Parameters.AddWithValue("@bid", bid);
                int result = command.ExecuteNonQuery();
                if(result == 2) { flag = true; }
                else { flag = false; }
            }
            catch (Exception c)
            { }
            return flag;
        }
    }
}

借书必然会让库存减1,所以进行一下数据库操作。

界面ren.cs代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using rentf;
using Model;

namespace LogIn
{
    public partial class ren : Form
    {
        public ren()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //获取文本框内容
            String Bookname = bookname.Text;
            String Studentname = studentname.Text;
            bool flag;
            if (String.IsNullOrEmpty(Bookname))
            {
                MessageBox.Show("书名不能为空!");
                return;
            }
            if (String.IsNullOrEmpty(Studentname))
            {
                MessageBox.Show("姓名不能为空!");
                return;
            }
            //实例化
            bookandstu bookstu = new bookandstu(Bookname, Studentname);
            if (!String.IsNullOrEmpty(Bookname) && !String.IsNullOrEmpty(Studentname))
            {
                Rentfor rent1 = new Rentfor();
                flag = rent1.Rent(bookstu.Stuname, bookstu.Bookname);
                if(flag)
                {
                    MessageBox.Show("借书成功");
                }
                else
                {
                    MessageBox.Show("失败");
                }
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //获取文本框内容
            String Bookid = bookid.Text;
            String Studentid = studentid.Text;
            bool flag;
            if (String.IsNullOrEmpty(Bookid))
            {
                MessageBox.Show("书名id不能为空!");
                return;
            }
            if (String.IsNullOrEmpty(Studentid))
            {
                MessageBox.Show("学生id不能为空!");
                return;
            }
            //实例化
            int ibookid = System.Convert.ToInt32(Bookid);
            int istudentid = System.Convert.ToInt32(Studentid);
            bookandstu bookstu = new bookandstu(ibookid, istudentid);

            if (!String.IsNullOrEmpty(Bookid) && !String.IsNullOrEmpty(Studentid))
            {
                Rentfor rent2 = new Rentfor();
                flag = rent2.Rent(bookstu.Tid, bookstu.Bid);
                if (flag)
                {
                    MessageBox.Show("借书成功");
                }
                else
                {
                    MessageBox.Show("失败");
                }
            }
        }
    }
}

注意,在这里的代码进行了和登陆界面一样的实例化操作,这个实例化的类,写在了Model.cs当中,请自行添加,题主就不贴出来了,具体操作可以参考第二篇中的注释2。
下一篇链接:查询界面

你可能感兴趣的:(C#课程设计)