在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#网络编程 → C# 图书借阅管理系统源码

C# 图书借阅管理系统源码

C#网络编程

下载此实例
  • 开发语言:C#
  • 实例大小:2.52M
  • 下载次数:371
  • 浏览次数:3855
  • 发布时间:2017-06-28
  • 实例类别:C#网络编程
  • 发 布 人:nedrem
  • 文件格式:.rar
  • 所需积分:6
 相关标签: c#图书管理 系统

实例介绍

【实例简介】

【实例截图】

【核心代码】


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 Common;
using BLL;
using Model;

namespace Web
{
    public partial class BorrowManager_UI : Form
    {
        public BorrowManager_UI()
        {
            InitializeComponent();
        }

        private void BorrowManager_UI_Load(object sender, EventArgs e)
        {
            #region dgvReaderInfo自动生成列

            //需要添加列的列标题字符串
            string arraysHeaderText = @"读者编号,读者名称,登记时间,有效时间,图书类型,所在院系,所在班级,省份证号,性别,电话,手机,Email,联系地址,描述信息";
            //需要绑定数据库列名称的字符串
            string arraysName = @"ReaderId,ReaderName,TimeIn,TimeOut,ReaderTypeName,DepartmentName,ClassName,IdentityCard,Gender,Special,Phone,Email,Address,ReaderRemark";

            //自动生成columns
            autocoumns.AutoColumn(arraysHeaderText, arraysName, dgvReaderInfo);

            //DataGridView1数据集绑定
            //this.dgvReaderInfo.DataSource = reader_bll.selectReader().Tables[0];
            this.dgvReaderInfo.Columns[13].Visible = false;
            this.dgvReaderInfo.Columns[12].Visible = false;
            this.dgvReaderInfo.Columns[11].Visible = false;
            dgvReaderInfo.DataSource = null;

            #endregion


            #region dgvBorrow表的自动生成列

            //dataGridView3.AutoGenerateColumns = false;
            //需要添加列的列标题字符串
            string arraysHeaderText1 = @"借还ID,读者编号,读者名称,图书编号,图书名称,借出时间,书应归还时间,实际归还时间,应付罚金,续借次数,借还描述";
            //需要绑定数据库列名称的字符串
            string arraysName1 = @"BorrowId,ReaderId,ReaderName,BookId,BookName,BorrowTime,ReturnTime,FactReturnTime,Fine,RenewCount,BorrowRemark";

            //自动生成columns
            autocoumns.AutoColumn(arraysHeaderText1, arraysName1, dgvBorrowed);
            autocoumns.AddColumn("续借", dgvBorrowed);
            autocoumns.AddColumn("还书", dgvBorrowed);

            //dgvBorrowed.Columns[2].Frozen = true;
            //dgvBorrowed.Columns[1].Frozen = true;
            //自动铺满的列宽
            dgvBorrowed.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dgvBorrowed.Columns[0].Visible = false;
            dgvBorrowed.Columns[1].Visible = false;
            dgvBorrowed.Columns[2].Visible = false;
            dgvBorrowed.Columns[7].Visible = false;
            dgvBorrowed.Columns[dgvBorrowed.Columns.Count - 3].Visible = false;
            dgvBorrowed.DataSource = null;
            #endregion


            #region dgvBookInfo的自动生成列

            //需要添加列的列标题字符串
            string arraysHeaderText2 = @"图书编号,图书名称,登记时间,图书类型,作者,拼音码,翻译,语言,页数,价格,印刷版面,存放位置,ISBS码,版本,描述";
            //需要绑定数据库列名称的字符串
            string arraysName2 = @"BookId,BookName,TimeIn,BookTypeName,Author,PinYinCode,Translator,Language,BookNumber,Price,Layout,Address,ISBS,Versions,BookRemark";

            //自动生成columns
            autocoumns.AutoColumn(arraysHeaderText2, arraysName2, dgvBookInfo);
            autocoumns.AddColumn("借书", dgvBookInfo);

            dgvBookInfo.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dgvBookInfo.DataSource = null;

            dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 2].Visible = false;
            dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 3].Visible = false;
            dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 4].Visible = false;
            dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 5].Visible = false;
            dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 6].Visible = false;
            dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 7].Visible = false;
            dgvBookInfo.Columns[dgvBookInfo.Columns.Count - 8].Visible = false;
            #endregion
        }
        private void button5_MouseEnter(object sender, EventArgs e)
        {
            ((Button)sender).FlatStyle = FlatStyle.Standard;
        }

        private void button5_MouseLeave(object sender, EventArgs e)
        {
            ((Button)sender).FlatStyle = FlatStyle.Flat;
        }
        Com autocoumns = new Com();
        Reader_BLL reader_bll = new Reader_BLL();
        BorrowReturn_BLL borrowReturn_bll = new BorrowReturn_BLL();
        BookInfo_BLL bookInfo_bll = new BookInfo_BLL();

        //读者信息与读者借还表的联动
        private void txtReaderId_TextChanged(object sender, EventArgs e)
        {
            string ReaderId = txtReaderId.Text.Trim();
            dgvReaderInfo.DataSource = reader_bll.selectReader("ReaderId", ReaderId).Tables[0];
        }
        //重新绑定数据是发生
        private void dgvReaderInfo_DataSourceChanged(object sender, EventArgs e)
        {
            if (dgvReaderInfo.Rows.Count > 0)
            {
                string ReaderId = dgvReaderInfo.Rows[0].Cells[0].Value.ToString();
                dgvBorrowed.DataSource = borrowReturn_bll.ReaderBorrowReturn(ReaderId).Tables[0];

                labBorrowBook.Text = "读者编号为:"   ReaderId   " 正在借阅的以下图书";
            }
            else
            {
                dgvBorrowed.DataSource = null;
                labBorrowBook.Text = ".....正在借阅的图书";
            }
        }
        //根据图书编号改变事件
        private void txtBookId_TextChanged(object sender, EventArgs e)
        {
            string BookId = txtBookId.Text.Trim();
            dgvBookInfo.DataSource = bookInfo_bll.selectBookInfo2(BookId).Tables[0];
        }

        private void dgvBorrowed_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            int BorrowReturnId = -1;
            try
            {
                //选中行的借阅编号
                BorrowReturnId = (int)dgvBorrowed.Rows[e.RowIndex].Cells[0].Value;

            }
            catch (Exception) { }

            //DataGridView的总列数
            int rows = dgvBorrowed.Columns.Count;

            if (e.ColumnIndex == rows - 2)//修改
            {
                DialogResult result = MessageBox.Show("确定续借吗?", "提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (result == DialogResult.OK)
                {
                    BorrowReturn b = new BorrowReturn();
                    b.BorrowId = BorrowReturnId;
                    if (borrowReturn_bll.RenewBook(b) > 0)
                    {
                        MessageBox.Show("续借成功!");
                        dgvReaderInfo_DataSourceChanged(null, null);
                        autocoumns.AutoFindRow(b.BorrowId, dgvBorrowed);
                    }
                    else
                    {
                        MessageBox.Show("续借失败!");
                    }
                }
            }
            else if (e.ColumnIndex == rows - 1)//还书
            {
                DialogResult result = MessageBox.Show("确定还书吗?", "提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (result == DialogResult.OK)
                {
                    if (borrowReturn_bll.ReturnBook(BorrowReturnId) > 0)
                    {
                        dgvReaderInfo_DataSourceChanged(null, null);
                        MessageBox.Show("还书成功!");
                        txtBookId_TextChanged(null, null);
                    }
                    else
                    {
                        MessageBox.Show("还书失败!");
                    }
                }
            }
        }
        //借书
        private void dgvBookInfo_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            string BookId = "";
            try
            {
                //选中行的图书编号
                BookId = dgvBookInfo.Rows[e.RowIndex].Cells[0].Value.ToString();

            }
            catch (Exception) { }

            //DataGridView的总列数
            int rows = dgvBookInfo.Columns.Count;

            if (e.ColumnIndex == rows - 1)//借书
            {
                if (dgvReaderInfo.Rows.Count < 1)
                {
                    MessageBox.Show("没有读者信息!");
                    return;
                }
                BorrowReturn b = new BorrowReturn();
                b.BookId = BookId;
                b.ReaderId = dgvReaderInfo.Rows[0].Cells[0].Value.ToString();
                b.BorrowTime = DateTime.Now;
                b.ReturnTime = DateTime.Now;//数据库中存储过程根据借书时间自动计算应还书日期
                b.Fine = 0;
                b.RenewCount = 0;
                b.BorrowRemark = "";


                DialogResult result = MessageBox.Show("确定借书吗?", "提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (result == DialogResult.OK)
                {
                    if (borrowReturn_bll.BorrowBook(b) == 0)
                    {


                        MessageBox.Show("借书成功!");
                        //刷新图书借还表
                        dgvReaderInfo_DataSourceChanged(null, null);
                        //选中添加成功的新行
                        autocoumns.AutoFindRow(b.BorrowId, dgvBorrowed);
                        //刷新 //读者信息与读者借还表的联动
                        txtBookId_TextChanged(null, null);
                    }
                    else
                    {
                        MessageBox.Show("借书失败!");
                    }
                }

            }
        }
        //查询读者
        private void btnSelctReader_Click(object sender, EventArgs e)
        {
            Info_UI i = new Info_UI();
            i.txtName = "读者信息";
            i.borrowManager = this;
            i.ShowDialog();
        }

        private void btnSelectBook_Click(object sender, EventArgs e)
        {
            Info_UI i = new Info_UI();
            i.txtName = "图书信息";
            i.borrowManager = this;
            i.ShowDialog();
        }

        private void dgvBorrowed_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(e.RowBounds.Location.X,
               e.RowBounds.Location.Y,
               dgvBorrowed.RowHeadersWidth - 4,
               e.RowBounds.Height);

            TextRenderer.DrawText(e.Graphics, (e.RowIndex   1).ToString(),
                dgvBorrowed.RowHeadersDefaultCellStyle.Font,
                rectangle,
                dgvBorrowed.RowHeadersDefaultCellStyle.ForeColor,
                TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
        }


    }
}


网友评论

第 1 楼 代码天空 发表于: 2023-05-22 22:17 14
源码是脚本之家的https://www.jb51.net/article/92383.htm,这里免费下载

支持(0) 盖楼(回复)

第 2 楼 代码天空 发表于: 2023-05-22 22:17 19
源码是脚本之家的https://www.jb51.net/article/92383.htm,这里免费下载

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有3条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警