目录

S1:借书user2.cs

①“借出图书”的button

②修改指定从哪个窗体启动

③窗体跳转

④执行

S2:还书user3.cs

①“归还图书”的button

1.修改Table的sql语句

2.归还图书函数

②窗体跳转

S3:扩,User1.cs完善1

①帮助

②退出


本系列文章基于B站UP主“面朝星海我心澎湃”的视频P4,P5,时空门:P9 用户借/还书
区别在:
           ①up主用的SQLserver,但是本文章是MySQL
           ②本文章的数据库表比up主复杂一点,以及表里的内容不一样(本文章无论用户表还是管                   理员表都是海贼王滴,没办法,海米一枚~)

PT:
①表跟UP主不一样,所以MySQL查询语句不同
②借书:借时,通过ks_book表判断该书是否在馆,在则:往borrow表插入数据,修改ks_book表,使借的该书不在馆  关于以下几个属性要注意一下
        借出的日期:用函数获取电脑当前时间 current()函数
        预计归还日期:【这个可先不弄,先把基础功能实现】电脑当前时间+他能借的时间(在readerType里有说),直接加就行啦。如果闲天数不同而sql语句写的麻烦可将所有人的借书天数都设置为30天UPDATE ks_readertype SET CanLendDay =30;
        实际归还日期、延时、罚钱数这边建议全部删除,避免麻烦。同时,我这边把borrow更新了一下。同时也把user3.cs更新了

③还书:往borrow表删除数据,修改ks_book表,使借的该书在馆

S1:借书user2.cs

①“借出图书”的button

双击user2.cs【设计】“借出图书”的button,进入user2.cs的private void button_lend_bk_Click(object sender, EventArgs e)函数编辑页面-->在其中填入如下代码->

 private void button_lend_bk_Click(object sender, EventArgs e){string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//获取书号string bkName = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//获取书号string ku_chun= dataGridView1.SelectedRows[0].Cells[7].Value.ToString();//获取库存,即是否在馆if(ku_chun=="在馆"){string sql = $"INSERT INTO ks_borrow VALUES({Data.UID},{id},'{bkName}',CURDATE());UPDATE ks_book SET bkStatus='不在' WHERE bkCode='{id}';";//更新borrow、book.status表Dao dao = new Dao();if (dao.Execute(sql) > 1){MessageBox.Show($"Congratulations {Data.UName}:\nhas borrowed {bkName}!");Table();}else{MessageBox.Show("鼠鼠我呀\n觉得你的sql语句可能错了呢\n所以借书失败了哦");}}else{MessageBox.Show("鼠鼠我呀,没有书了呢\n这边建议您联系管理员哈\n虽然可能联系不到\n因为他应该在某一个小角落看书呢");}}

②修改指定从哪个窗体启动

Program.cs【可从右侧“解决方案资源管理器】找

③窗体跳转

将user1.cs【设计】的“图书查看和借阅”  和  user2.cs【设计】连接,实现界面跳转。
双击user1.cs【设计】的“图书查看和借阅”的 字体 ,进入user1.cs的 private void 图书借阅ToolStripMenuItem_Click(object sender, EventArgs e)函数编辑页面-->填入如下代码

private void 图书借阅ToolStripMenuItem_Click(object sender, EventArgs e){user2 u2 = new user2();u2.Show();}

④执行

执行程序,窗体可能不怎么好看,具体美化等基础功能全部实现后开始逐一美化.运行效果:

S2:还书user3.cs

①“归还图书”的button

双击user3.cs【设计】“归还图书”的button,进入user3.cs的private void button1_Click(object sender, EventArgs e)函数编辑页面--->

1.修改Table的sql语句

由于显示的是登陆的的借书信息,因此需要在显示的是borrow中ID=登录者ID的相关信息eg:如果只是1号(路飞)登录,就只显示他的相关借阅信息
MySQL语句:SELECT * FROM KS_Borrow WHERE rdID='1';【MYSQL编译器C V】
因此,Table()函数修改以下2个地方:

//从数据库读取数据显示在表格控件中public void Table(){dataGridView1.Rows.Clear();//将控件中已经有的旧数据全部清空Dao dao = new Dao();string sql = $"SELECT * FROM KS_Borrow WHERE rdID='{Data.UID}';";//要执行的sql语句,建议从编译器上copy该语句再黏贴到此处IDataReader dc = dao.read(sql);while (dc.Read())//当查询结果到达末尾后跳出while循环{//将读到的数据添加到dataGridView控件中//这里几个dc[]取决于你在页面的那里设置了几个属性dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString(), dc[3].ToString());}dc.Close();dao.DaoClose();}

2.归还图书函数

双击user3.cs【设计】“归还图书”的button,进入user3.cs的private void button1_Click(object sender, EventArgs e)函数编辑页面--->填入如下代码

 private void button1_Click(object sender, EventArgs e)//还书Button{string id = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//获取书号string bkName = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();//获取书号//还书时间:string sql = $"DELETE FROM ks_borrow WHERE bkID= '{id}';UPDATE ks_book SET bkStatus='在馆' WHERE bkCode='{id}';";//用图书ID 更新borrow、book.status表Dao dao = new Dao();if (dao.Execute(sql) > 1){MessageBox.Show($"Congratulations {Data.UName}:\nhas return {bkName}!");Table();}else{MessageBox.Show("鼠鼠我呀\n觉得你的sql语句可能错了呢\n所以还书失败了哦");}}

②窗体跳转

将user1.cs【设计】的“当前借阅和归还情况”  和  user3.cs【设计】连接,实现界面跳转。
双击user1.cs【设计】的“当前借阅和归还情况”的 字体 ,进入user1.cs的 private void 当前借阅和归还情况ToolStripMenuItem_Click(object sender, EventArgs e)函数编辑页面-->填入如下代码

user3 u3 = new user3();u3.Show();

S3:扩,User1.cs完善1

①帮助

双击user1.cs【设计】“帮助”,进入user1.cs的private void button1_Click(object sender, EventArgs e)函数编辑页面--->填入如下代码

 private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e){//先随便弹个窗意思意思MessageBox.Show("V鼠鼠50,鼠鼠帮你解决障碍");}

②退出

双击user1.cs【设计】“退出”,进入user1.cs的private void button1_Click(object sender, EventArgs e)函数编辑页面--->填入如下代码​​​​​​​

vs2019,C#,MySQL创建图书管理系统7(用户借/还书)相关推荐

  1. 用vs2019使用C#连接MySQL创建图书管理系统(1-7)源码集,未优化,未美化

    目录 已经实现的功能 DAO.cs Data.cs Program.cs login.cs admin.cs ①admin1.cs[管理员主页面] ②admin2.cs[图书管理页面]​编辑 1.添加 ...

  2. [mysql+qt] 图书管理系统

    关于乱码问题:         后来亲测加上qstringliteral有效,而官方给出的tr函数,似乎对中文没啥用 出现编码错误,如字符常量这些,是qt自身的问题,用记事本存为utf-8应该就好了. ...

  3. MYSQL JDBC图书管理系统

    两万字,博主辛辛苦苦给大家写的,在这里求个三连~~. JDBC编程 一.JDBC简介 二.准备工作 三.JDBC五毒神掌 3.1导入驱动包,创建DataBase实例 四.加入SQL版的数据库 4.1系 ...

  4. 基于Springboot+mybatis+mysql+html图书管理系统2

    基于Springboot+mybatis+mysql+html图书管理系统2 一.系统介绍 二.功能展示 1.用户登陆 2.用户主页 3.图书查询 4.还书 5.个人信息修改 6.图书管理(管理员) ...

  5. 基于Springboot+mybatis+mysql+html图书管理系统

    基于Springboot+mybatis+mysql+html图书管理系统 一.系统介绍 二.功能展示 1.用户登陆 2.用户主页 3.图书查询 4.还书 5.个人信息修改 6.图书管理(管理员) 7 ...

  6. 基于JAVA+SpringBoot+Mybatis+MYSQL的图书管理系统

    项目功能: 一个基于SpringBoot+Thymeleaf渲染的图书管理系统 功能: 用户: a.预约图书 b.查看预约记录 c.还书 管理员: a.添加图书 b.处理预约(借书) c.查看借阅记录 ...

  7. java计算机毕业设计Vue和mysql智能图书管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计Vue和mysql智能图书管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计Vue和mysql智能图书管理系统源码+mysql数据库+系统+lw文档+部 ...

  8. java计算机毕业设计Vue和mysql智能图书管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计Vue和mysql智能图书管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计Vue和mysql智能图书管理系统MyBatis+系统+LW文档+源码+调 ...

  9. Java + Swing + MySQL实现图书管理系统

    项目:图书管理系统开发 图书管理系统会因为图书的数量.种类.提供的操作等不同而具有不同的复杂度.基本信息的维护.图书借阅.归还及查询等操作通常是图书管理系统的基本功能.在规模较大.业务较多的图书馆还需 ...

  10. python下tkinter模块和mysql构建图书管理系统实验

    前言与准备 本次实验是大二数据库期末大作业,我采用的是python语言和mysql8.0.27制作的基于cs构架的数据库框架,由于之前从未了解过python语言,所以代码部分语言较为粗暴,未成年人请在 ...

最新文章

  1. 看完这些能控制大脑的寄生虫,你会怀疑人类!
  2. python基础-------python2.7教程学习【廖雪峰版】(二)
  3. css 图片换行_好程序员web前端学习路线分享CSS浮动-文档流篇
  4. 使用详解_Log4j2使用详解
  5. 数据结构-栈1-顺序存储
  6. java class 文件
  7. 【前端学习笔记】微信小程序vue 组件式开发
  8. 魔兽世界国服服务器稳定,《魔兽世界》国服大服务器功能实装启动
  9. 物联网应用领域(全)
  10. rocketmq 消息删除_RocketMq Topic创建和删除
  11. Robust regression(稳健回归)
  12. 熊猫压缩怎么使用_记录随时间变化的PagerDuty事件(使用熊猫)
  13. 2021-06-25
  14. raid1硬盘计算机能读取,1,如何计算各种RAID硬盘的容量? ? ?
  15. 关于HTTP的几个个人预言
  16. 人体疲劳程度检测,生理信号处理
  17. 如何在Windows 10中打印照片
  18. 修改手机服务器密码忘了怎么办啊,交管服务平台忘了密码而且换了手机号
  19. (40)Verilog实现序列10111【状态机三段式】
  20. 如果孔子是个程序员,一定是P14

热门文章

  1. 网上订餐python_网上订餐管理系统摘要.doc
  2. npm init 自动创建 package.json 文件
  3. 桌面图标变白,任务栏图标变白
  4. 赵小楼《天道》《遥远的救世主》深度解析(6)为什么肖亚文说丁元英是魔是鬼都可以,就是不是人?
  5. 钉钉html缓存,电脑钉钉的缓存文件路径
  6. ipad远程控制windows电脑
  7. 高中计算机必修选修知识点总结,高中数学必修+选修全部知识点精华归纳总结.pdf...
  8. Java实现复数运算
  9. JAVA-day18-Map集合遍历、HashMap、TreeMap、Collections、集合嵌套,模拟斗地主发牌
  10. 华为CANN训练营笔记——应用开发全流程 [5](with 代码版)