有没有人会新书入库和注销书籍,给我说一下流程

namespace 图书管理系统
{
public partial class 新书入库Form : Form
{
public 新书入库Form()
{
InitializeComponent();
}

    private string _p;  // p=="1"时为书籍注销操作
    public string P
    {
        get { return _p; }
        set { _p = value; }
    }

    private void 新书入库Form_Load(object sender, EventArgs e)
    {
        if (P != "1")
        {
            书籍注销panel.Visible = false;
        }
    }

    private void 新书入库Btn_Click(object sender, EventArgs e)
    {
        if (bNameTB.Text.Trim() == "" || bAuthorTB.Text.Trim() == "" || bPubComTB.Text.Trim() == "" || ISBN.Text.Trim() == "" || bTagTB.Text.Trim() == "" || bPriceTB.Text.Trim() == "" || bPubDatTB.Text.Trim() == "")
        {
            MessageBox.Show("请填写完整信息", "失败");
        }
        else
        {
            // 自动获得图书序列号
            string sql = " select COUNT(*)+1 from books";
            string bNum = SqlHelper.ExecuteScalar(sql).ToString();
            StringBuilder sb = new StringBuilder(bNum);
            while (sb.Length != 6)
            {
                sb.Insert(0, "0");
            }
            bNum = sb.ToString();
            
            // 添加操作
            sql = "insert into books values(@bNum,@bName,@bAuthor,@bPubCom,@bPubDat,@ISBN,@bPrice,@bTag)";
            MyDictionary dic = new MyDictionary();
            dic.Add("@bNum", bNum);
            dic.Add("@bName", bNameTB.Text.Trim());
            dic.Add("@bAuthor", bAuthorTB.Text.Trim());
            dic.Add("@bPubCom", bPubComTB.Text.Trim());
            dic.Add("@bPubDat", bPubDatTB.Text.Trim());
            dic.Add("@ISBN", ISBN.Text.Trim());
            dic.Add("@bPrice", bPriceTB.Text.Trim());
            dic.Add("@bTag", bTagTB.Text.Trim());
            int i = SqlHelper.ExecuteNonQuery(sql, dic);
            if (i == 1)
            {
                MessageBox.Show("添加成功,图书序列号为" + bNum);
            }
        }
    }

    private void 注销书籍Btn_Click(object sender, EventArgs e)
    {
        // 判断账号是否存在
        if (!SqlHelper.IsBookExistsWithNum(注销书籍TB.Text.Trim()))
        {
            MessageBox.Show("书籍不存在", "操作失败");
            return;
        }
        else
        {
            DialogResult dt = MessageBox.Show("确定要注销此书吗", "提示", MessageBoxButtons.OKCancel);
            if (dt != DialogResult.OK)
            {
                return;
            }
            else
            {
                string sql = "delete from books where bNum=@bNum";
                MyDictionary dic = new MyDictionary();
                dic.Add("@bNum", 注销书籍TB.Text.Trim());
                int i = SqlHelper.ExecuteNonQuery(sql, dic)
                if (i == 1)
                {
                    MessageBox.Show("注销成功");
                }
            }
            this.Close();
        }
    }
}

}

你是想写一个图书管理系统吗?

流程说明

  • 1、新书入库
    新书入库通过新书入库Btn_Click函数来进行处理

1.1 先判断输入书籍的信息是否完整,如果不完整,那么请填写完整,如果完整,那么进行下一步
1.2 获取books这个表的所有行数+1为这个表的图书序号,
1.3 执行sql语句,将这本书籍的信息作为 对数据库的books的一行进行插入,
1.4 如果sql语句插入成功,那么就输出成功

  • 2、注销操作
    新书入库通过注销书籍Btn_Click来进行处理

2.1 判断账号是否存在,如果不存在提示操作失败
2.2 如果账号存在,那么进行确认是否要注销,如果不是,那么函数结束,如果是,那么进行下一步
2.3 执行sql语句将这本书的信息所在行从数据库的表books中删去
2.4 如果sql语句执行成功,数据注销成功,那么就输出'注销成功'

更加详细的代码解释看下面。

代码进行了详细的注释,你看一下:

代码

    private string _p;  // p=="1"时为书籍注销操作
    public string P
    {
        get { return _p; }
        set { _p = value; }
    }
 
    // 函数作用:判断新书是否可以注销,如果P!=1 那么就不可以注销,书籍注销panel不可以进行点击
    private void 新书入库Form_Load(object sender, EventArgs e) 
    {
        if (P != "1")
        {
            书籍注销panel.Visible = false;
        }
    }
    // 函数作用:新书入库按钮的点击事件,如果这个函数传入的关于图书的信息完整,那么就把这本书的信息插入数据库,图书库的入库 id设置为之前的所有行数+1
    private void 新书入库Btn_Click(object sender, EventArgs e)
    {   
        // 传入的关于图书的信息是否完整,如果不完整,就提示 "信息不完整"的错误
        if (bNameTB.Text.Trim() == "" || bAuthorTB.Text.Trim() == "" || bPubComTB.Text.Trim() == "" || ISBN.Text.Trim() == "" || bTagTB.Text.Trim() == "" || bPriceTB.Text.Trim() == "" || bPubDatTB.Text.Trim() == "")
        {
            MessageBox.Show("请填写完整信息", "失败");
        }
        else
        {
            // 自动获得图书序列号,图书序号为之前books这个表中的所有行数+1
            string sql = " select COUNT(*)+1 from books";
            string bNum = SqlHelper.ExecuteScalar(sql).ToString();
            StringBuilder sb = new StringBuilder(bNum);
            while (sb.Length != 6)
            {
                sb.Insert(0, "0");
            }
            bNum = sb.ToString();
            
            // 添加操作: 将这个图书的所有信息作为一行插入这个books表中
            sql = "insert into books values(@bNum,@bName,@bAuthor,@bPubCom,@bPubDat,@ISBN,@bPrice,@bTag)";
            MyDictionary dic = new MyDictionary();
            dic.Add("@bNum", bNum);
            dic.Add("@bName", bNameTB.Text.Trim());
            dic.Add("@bAuthor", bAuthorTB.Text.Trim());
            dic.Add("@bPubCom", bPubComTB.Text.Trim());
            dic.Add("@bPubDat", bPubDatTB.Text.Trim());
            dic.Add("@ISBN", ISBN.Text.Trim());
            dic.Add("@bPrice", bPriceTB.Text.Trim());
            dic.Add("@bTag", bTagTB.Text.Trim());
            int i = SqlHelper.ExecuteNonQuery(sql, dic);
            // i是sql语句执行之后的返回结果,如果是1,那么可以判断插入成功,输出添加成功和图序序列号
            if (i == 1)
            {
                MessageBox.Show("添加成功,图书序列号为" + bNum);
            }
        }
    }
 
    // 函数:注销书籍的点击事件
    private void 注销书籍Btn_Click(object sender, EventArgs e)
    {
        // 1、判断账号是否存在,如果不存在提示操作失败
        if (!SqlHelper.IsBookExistsWithNum(注销书籍TB.Text.Trim()))
        {
            MessageBox.Show("书籍不存在", "操作失败");
            return;
        }
        else// 如果账号存在,那么执行下面语句
        {
            DialogResult dt = MessageBox.Show("确定要注销此书吗", "提示", MessageBoxButtons.OKCancel); // 询问你是否要注销这本书
            if (dt != DialogResult.OK) // 如果点击了的不是确认按钮OK,那么结束这个函数,停止注销操作
            {
                return;
            }
            else  // 如果点击了确认按钮OK, 那么执行下面的操作,将这本书的信息所在行从数据库的表books中删去
            {
                string sql = "delete from books where bNum=@bNum";
                MyDictionary dic = new MyDictionary();
                dic.Add("@bNum", 注销书籍TB.Text.Trim());
                int i = SqlHelper.ExecuteNonQuery(sql, dic)
                if (i == 1) // i是sql语句执行之后的返回结果,如果是1,那么可以判断注销成功,输出注销成功
                {
                    MessageBox.Show("注销成功");
                }
            }
            this.Close();
        }
    }
}

如有问题及时沟通

给你个图书管整个流程图

img