#include <stdio.h>
#include <windows.h>
#include <mysql.h>
#pragma comment(lib,"libmysql.lib")
/*定义数据库相关操作变量*/
MYSQL mysql; //
MYSQL_RES *result; //定义结果集变量
MYSQL_ROW row; //定义行变量
char ch[2];
void ShowAll(); /*显示所有的图书信息*/
void AddBook(); /*添加图书信息*/
void ModifyBook(); /*修改图书信息*/
void DeleteBook(); /*删除图书信息*/
void QueryBook(); /*查询图书信息*/
/*显示菜单*/
void showmenu()
{
system("cls");
printf("\n\n\n\n\n");
printf("\t╔═══════════════════════════╗\n");
printf("\t║ Welcome To Lemon Books System ║\n");
printf("\t╠═══════════════════════════╣\n");
printf("\t║\t\t 1 - 显示所有图书信息 ║\n");
printf("\t║\t\t 2 - 添加图书信息 ║\n");
printf("\t║\t\t 3 - 修改图书信息 ║\n");
printf("\t║\t\t 4 - 删除图书信息 ║\n");
printf("\t║\t\t 5 - 查询图书信息 ║\n");
printf("\t║\t\t 6 - 退出 ║\n");
printf("\t╚═══════════════════════════╝\n");
printf("\n ENTER YOUR CHOICE(1-6):");
}
void inquire() /*询问用户是否显示主菜单*/
{
printf("\t 显示主菜单?(y/n):");
scanf("%s",ch);
if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要显示查找到的信息*/
{
showmenu(); /*显示菜单*/
}
else
{
exit(0);
}
}
/*显示主菜单,连接数据库*/
int main()
{
int n ; //定义变量 存储用户输入的编号
mysql_init(&mysql); //初始化mysql结构
showmenu(); /*显示菜单*/
scanf("%d",&n);/*输入选择功能的编号*/
while(n)
{
switch(n)
{
case 1:
ShowAll(); /*调用显示所有图书数据的过程*/
break;
case 2:
AddBook(); /*添加图书信息*/
break;
case 3:
ModifyBook(); /*修改图书信息*/
break;
case 4:
DeleteBook(); /*删除图书信息*/
break;
case 5:
QueryBook(); /*查询图书信息*/
break;
case 6:
exit(0); /*退出*/
default:break;
}
scanf("%d",&n);
}
}
void ShowAll() /*调用显示所有图书数据的过程*/
{
/*连接数据库*/
if(!mysql_real_connect(&mysql,"localhost","root","root","db_books",3306,NULL,0))
{
printf("\n\t 不能连接数据库!\n");
}
else
{
/*数据库连接成功*/
if(mysql_query(&mysql,"select * from tb_book"))
{ //如果查询失败
printf("\n\t 查询 tb_book 数据表失败!\n");
}
else
{
result=mysql_store_result(&mysql); //获得结果集
if(mysql_num_rows(result)!=NULL)
{ //有记录的情况,只有有记录取数据才有意义
printf("\t ════════════════════════════ \n");
printf("\t 显 示 所 有 图 书 信 息 \n");
printf("\t ════════════════════════════ \n");
printf("\t 图书编号 图书名 作者 出版社 \n");
printf("\t -------------------------------------------------------- \n");
while((row=mysql_fetch_row(result)))
{ //取出结果集中记录
fprintf(stdout,"\t %s %s %s %s \n",row[0],row[1],row[2],row[3]); //输出这行记录
}
printf("\t ════════════════════════════ \n");
}
else
{
printf("\n\t 没有记录信息 !\n");
}
mysql_free_result(result); //释放结果集
}
mysql_close(&mysql); //释放连接
}
inquire(); /*询问是否显示主菜单*/
}
void AddBook() /*添加图书信息*/
{
int rowcount; /*结果集中的行数*/
char id[10]; /*编号*/
char *bookname;
char *author;
char *bookconcern;
char *sql;
char dest[500] ={" "};
/*连接数据库*/
if(!mysql_real_connect(&mysql,"127.0.0.1","root","root","db_books",0,NULL,0))
{
printf("\n\t 不能连接数据库!\n");
}
else
{
/*数据库连接成功,插入数据*/
printf("\t ════════════════════════════ \n");
printf("\t 添 加 图 书 信 息 \n");
printf("\t ════════════════════════════ \n");
if(mysql_query(&mysql,"select * from tb_book"))
{ //如果查询失败
printf("\n\t 查询 tb_book 数据表失败!\n");
}
else
{
result=mysql_store_result(&mysql); //获得结果集
rowcount=mysql_num_rows(result) ; //获得行数
row=mysql_fetch_row(result); //获取结果集的行
printf("\t 图书编号:");
scanf("%s",id); /*输入图书编号*/
sql="insert into tb_book (ID,bookname,author,bookconcern) values (";
strcat(dest,sql);
strcat(dest,"'");
strcat(dest,id);
strcat(dest,"', '");
if(mysql_num_rows(result)!=NULL)
{
/*判断输入的编号是否存在*/
do
{ //存在相同编号
if(!strcmp(id,row[0]))
{
// printf("%s",row[0]);
printf("\n\t 记录存在,按任意键继续!\n");
getch();
mysql_free_result(result); /*释放结果集*/
mysql_close(&mysql); /*释放连接*/
inquire(); /*询问是否显示主菜单*/
return;
}
}while(row=mysql_fetch_row(result));
}
bookname = (char*)malloc(50);
author = (char*)malloc(50);
bookconcern = (char*)malloc(50);
//不存在相同的编号
printf("\t 图书名:");
scanf("%s",bookname); /*输入图书名*/
strcat(dest,bookname); /*将图书编号追加到sql语句后面*/
printf("\t 作者:");
scanf("%s",author); /*输入作者*/
strcat(dest,"', '");
strcat(dest,author);
printf("\t 出版社:");
scanf("%s",bookconcern); /*输入出版社*/
strcat(dest,"', '");
strcat(dest,bookconcern);
strcat(dest,"')");
//printf("%s",dest);
if ( mysql_query(&mysql,dest)!=0)
{
fprintf(stderr,"\t 不能插入记录!",mysql_error(&mysql));
}
else
{
printf("\t 插入成功!\n");
}
mysql_free_result(result); //释放结果集
}
mysql_close(&mysql); //释放连接
}
exit(0);
}
void ModifyBook() /*修改图书信息*/
{
char id[10]; /*结果集中的行数*/
char *sql;
char dest[500] ={" "};
char dest1[500] ={" "};
char *bookname;
char *author;
char *bookconcern;
if (!mysql_real_connect(&mysql,"127.0.0.1","root","root","db_books",0,NULL,0))
{
printf("\t 不能连接数据库!\n");
}
else
{
/*数据库连接成功*/
// printf("连接成功"
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.
资源推荐
资源详情
资源评论















收起资源包目录
























共 19 条
- 1
资源评论

- garnet1112023-01-01超赞的资源,感谢资源主分享,大家一起进步!

0and1调研
- 粉丝: 11
- 资源: 1214
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
