资源简介
有c++实现图书馆的基本功能,并从mysql数据库中添加、修改、删除数据。下载之后要将vs中mysql数据库的地址改为自己的实际地址,要不然编译不通过
代码片段和文件信息
#include “Borrow_book.h“
CBorrow_book::CBorrow_book()
{
cout << “请输入书名或者书号“ << endl;
cin >> book_name;
MYSQL *mysql = NULL;
mysql = mysql_init((MYSQL *)0);
char strsql[1000] = “select * from library where book_name = ‘“;
strcat_s(strsql sizeof(strsql) book_name);
strcat_s(strsql sizeof(strsql) “‘or book_id = ‘“);
strcat_s(strsql sizeof(strsql) book_name);
strcat_s(strsql sizeof(strsql) “‘“);
char* command = strsql;
//sprintf_s(commandsizeof(command) “select book_name from library where book_name = ‘%s‘“ book_name);
mysql_real_connect
(
mysql
“localhost“ //数据库地址
“root“ //数据库用户名
“123456“ //数据库密码
“library“ //数据库名称
0 //数据库端口,0表示默认端口(即3306)
NULL //如果unix_socket不是NULL,字符串指定套接字或应该被使用的命名管道。注意host参数决定连接的类型
0 //CLIENT_MULTI_STATEMENTS //0 //通常是0
);
cout << command << endl;
if (!mysql) //连接失败
{
printf(“Connection error:%d %s\n“ mysql_errno(mysql) mysql_error(mysql));
}
int flag = mysql_real_query(mysql command strlen(command));
if (flag)
{
printf(“Select error:%d %s\n“ mysql_errno(mysql) mysql_error(mysql));
exit(-1);
}
MYSQL_RES *res = mysql_store_result(mysql); //读取将查询结果
MYSQL_FIELD *field = mysql_fetch_fields(res); //获取所有列名
int field_count = mysql_field_count(mysql); //获取列数
//输出所有列名
for (int i = 0; i < field_count; i++)
{
printf(“%s\t“ field[i].name);
}
printf(“\n“);
//遍历输出每一行数据
MYSQL_ROW row;
int i = 0;
int j = 0;
char *ch_num[10] = { “\0“ };
while (row = mysql_fetch_row(res))
{
i = 0;
ch_num[j] = row[i];
printf(“%s\t“ row[i]);
i++;
bookname[j] = row[i];
printf(“%s\t“ row[i]);
i++;
bookid[j] = row[i];
printf(“%s\t“ row[i]);
i++;
bookauthor[j] = row[i];
printf(“%s\t“ row[i]);
i++;
bookpress[j] = row[i];
printf(“%s\t“ row[i]);
i++;
booktime[j] = row[i];
printf(“%s\t“ row[i]);
i++;
printf(“%s\t“ row[i]);
i++;
printf(“%s\t“ row[i]);
i++;
bookamount[j] = row[i];
printf(“%s\t“ row[i]);
j++;
printf(“\n“);
}
for(int j = 0; bookname[j] != NULL ; j++ )
{
booknum[j] = strtod(bookamount[j] &ptr);
}
if (bookname[0] == NULL )
{
cout << “书库中没有该书“ << endl;
}
else if (booknum[0] < 1)
{
cout << “该书已经借出,书库中暂没有存货“ << endl;
}
else
{
for (int j = 0; bookname[j] != NULL; j++)
{
booknum[j] --;
bookamount[j] = number_change_string(booknum[j]);
cout << bookamount[j] << endl;
}
cout << “请输入你的ID“ << endl;
cin >> reader_id;
MYSQL *mysql = NULL;
mysql = mysql_init((MYSQL *)0);
strcpy_s(strsql sizeof(strsql) “select reader_id reader_name from reader where reader_id = ‘“);
strcat_s(strsql sizeof(strsql) reader_id);
strcat_s(strsql sizeof(strsql) “‘“);
mysql_real_connect
(
mysql
“localhost“ //数据库地址
“
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-07 00:14 library\
目录 0 2017-10-31 15:29 library\.vs\
目录 0 2017-10-31 15:29 library\.vs\library\
目录 0 2017-10-31 15:29 library\.vs\library\v14\
文件 81408 2017-11-07 00:14 library\.vs\library\v14\.suo
目录 0 2017-11-09 15:22 library\Debug\
目录 0 2017-11-03 20:44 library\library\
文件 5887 2017-11-03 14:34 library\library\Borrow_book.cpp
文件 134 2017-11-02 11:16 library\library\Borrow_book.h
文件 5133 2017-11-03 20:44 library\library\Library.cpp
文件 1299 2017-11-03 14:13 library\library\Library.h
文件 14618 2017-11-02 14:33 library\library\Manage_book.cpp
文件 196 2017-10-31 20:02 library\library\Manage_book.h
文件 13325 2017-11-02 21:12 library\library\Reader.cpp
文件 187 2017-10-31 21:50 library\library\Reader.h
文件 4149 2017-11-03 14:36 library\library\Return.cpp
文件 116 2017-10-31 21:50 library\library\Return.h
文件 4426 2017-11-03 17:20 library\library\Search.cpp
文件 247 2017-11-03 16:08 library\library\Search.h
文件 6854 2017-10-31 21:50 library\library\library.vcxproj
文件 2066 2017-10-31 21:50 library\library\library.vcxproj.filters
文件 690 2017-11-01 00:23 library\library\main.cpp
目录 0 2017-10-31 15:29 library\library\x64\
目录 0 2017-11-04 18:26 library\library\x64\Debug\
文件 135040 2017-11-03 14:34 library\library\x64\Debug\Borrow_book.obj
文件 91531 2017-11-04 18:26 library\library\x64\Debug\Library.obj
文件 155077 2017-11-03 14:13 library\library\x64\Debug\Manage_book.obj
文件 314697 2017-11-03 14:13 library\library\x64\Debug\Reader.obj
文件 132946 2017-11-03 14:36 library\library\x64\Debug\Return.obj
文件 297115 2017-11-03 17:20 library\library\x64\Debug\Search.obj
文件 134748 2017-11-03 13:30 library\library\x64\Debug\borrow_book.obj.enc
............此处省略23个文件信息
- 上一篇:C++中文离线手册修正版第二版
- 下一篇:C语言操作MySQL数据库
相关资源
- C语言操作MySQL数据库
- C++中文离线手册修正版第二版
- 基于VC++ Socket 网络调试助手源码
- C++ 解析rtsp流后返回Iplimage,用Opengl显
- 缓冲区分析
- C++开发web服务框架之HTTP Web框架的设计
- 使用c++开发的人脸识别 demo
- Visual C++实现MPEG/JPEG编解码技术代码集
- 计算路口通过车辆的 OPENCV C++
- Centos 6.7 gcc和gcc-c++的离线安装包
- Visual C++ +SQL Server数据库应用完全解析
- 吃豆子游戏 C++
- C++数据结构实现池塘夜降彩色雨附带
- Hands-On GUI Programming with C++ and Qt5
- Directshow实现的虚拟摄像头win10+vs2013
- C++ MFC 吹泡泡 源代码
- C++使用protobuf 作为网络消息协议
- Microsoft Visual C++ 2013 runtime 64/32 运行库
- libstdc++.so.6.0.23
- Introduction to Design Patterns in C++ with Qt
- 游戏编程代码\\游戏编程学习笔记之九
- 《c++程序设计》谭浩强完整版
- C++ Primer第五版 源代码
- C++沉思录 第2版 经典必读
- c++程序设计 谭浩强176905
- 《VC++网络编程开发与实战光盘》案例
- C++Primer电子书第五版中文版及答案 高
- C++电子书.rar
- 黑马程序员c++配套课件 《轻松搞定
- C++从入门到精通 (第2版).pdf
评论
共有 条评论