这几天一直在改改改代码,不过可能还是有一点小小的bug,如果到时候发现了还希望大家不吝赐教。本人也只是大一的菜鸟。。。还希望大佬们不要喷我…
因为我也买了阿里云的数据库,所以我这里的连接就用的是阿里云的,当然也可以用自己本地的,不过这样有一个不好,就是其他用户很难去访问,(当然也不是不可以)
使用的时候需要修改以下内容
1.c源代码主要就是要修改这个地方
mysql_real_connect(mysql,“地址”,“用户名”,“密码”,“library”,3306,NULL,0);
地址的话就要根据你的数据库使用情况修改,如果是本地的数据库的话一般就是localhost,如果是阿里云数据库的话可以在数据库实例里面设置外网地址,大概是这样的rm-2ze9g5if8j748p237bi.mysql.rds.aliyuncs.com,就直接把这个放在地址里面,用户名和密码就不用说了,然后library是我使用的数据库,如果用的话希望可以保持一致,3306默认
2.数据库结构
可以直接导入
提取码ekjs
也可以手动设置
create database library;
use library;
这是book数据表,用来存放book信息,其中id是主键并且自增
remain是剩余数量,stillalive是是否在书架上,year是出版时间,fans是热度
CREATE TABLE `book` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(32) DEFAULT NULL,
`writer` varchar(32) DEFAULT NULL,
`type` varchar(32) DEFAULT NULL,
`remain` int(11) DEFAULT NULL,
`fans` int(11) unsigned DEFAULT '0',
`year` int(11) DEFAULT NULL,
`stillalive` int(11) unsigned DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8;
这是borrow数据表,用来存放当前借阅的图书
设置的归还时间是1个月
CREATE TABLE `borrow` (
`username` varchar(32) DEFAULT NULL,
`bookname` varchar(32) DEFAULT NULL,
`borrowtime` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`duetime` varchar(32) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
这是borrow_list存放的是所有借阅的记录,id主键自增,backtime是记录用户真正的归还时间
CREATE TABLE `borrow_list` (
`id` int(32) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`bookname` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`borrowtime` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`backtime` varchar(32) DEFAULT 0,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
这是users数据表,密码没有加密,当然也可以选择加密
我的程序里面只允许用户名为root用户作为管理员,rematintime是剩余借阅次数
CREATE TABLE `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(32) DEFAULT NULL,
`password` varchar(32) DEFAULT NULL,
`sex` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '1' COMMENT '男或者女',
`workplace` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`remaintime` int(11) unsigned DEFAULT '5',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;
代码可能用户界面比较丑。。。对不起。。还希望不要嫌弃
功能如下
1.登录, 2.注册 3.注销,4.退出(这是登录层面的)
一.查询服务
二.图书数据管理服务(只支持管理员),
三.借书服务,
四.还书服务,
五.用户信息修改服务,
六.退出服务
一.查询服务
{
1.书名查找,
2.作者查找,
3.类别查找
,4.模糊查找,
5.出版年份查找,
6.显示当前所有书籍,
{
1书号升序
2书号降序
3书名升序
4书名降序
5作者名升序
6 作者名降序
}
7.查询当前用户信息,
8.查询图书借阅记录,
9.退出查询服务\n");
}
二.图书数据管理服务:
{
1.添加书籍,
2.删除书籍,(通过具体的方式)
{
1.id,
2.书的全程,
3.作者名称,
4.退出删除
}
3.修改书籍数据,
{
1.书名,
2.作者姓名,
3.余量,
4.热度
5.出版时间,
6.类型,
7.退出修改服务
4.显示当前有书籍
{
1书号升序
2书号降序
3书名升序
4书名降序
5作者名升序
6 作者名降序
}
5.显示当前所有用户信息,
6.退出图书数据管理服务
三四就不说了
五.用户信息修改服务,
{
1.用户名修改,
2.密码修改,
3.性别修改,
4.单位修改,
5.退出图用户信息修改服务
}
ok,为了方便大家浏览下载,我已经上传到了github上,也会不定时发布更新信息,也会修复已知bug,还希望大家多多支持
图书管理系统
对了,我修改了一下borrow_list的结构,希望大家注意一下
backtime
varchar(32) DEFAULT NULL,改成了backtime
varchar(32) DEFAULT 0,
如果你还没有配置mysql结构的话,就按照上面操作就可以,我已经修改了
如果你已经之前配置过了mysql结构,可能需要修改一下 ,命令如下
alter table borrow_list alter column backtime set default 0;
如果有问题可以及时留言,谢谢大家支持