资源简介
自己封装的一个简单的VS2015平台下,C++操作MySQL数据库;可实现连接,增删改查等功能。
代码片段和文件信息
#include “stdafx.h“
#include “MysqlConInfo.h“
MySQLInterface::MySQLInterface() :
ErrorNum(0) ErrorInfo(“ok“)
{
mysql_library_init(0 NULL NULL);
mysql_init(&MysqlInstance);
// 设置字符集,否则无法处理中文
mysql_options(&MysqlInstance MYSQL_SET_CHARSET_NAME “gbk“);
}
MySQLInterface::~MySQLInterface()
{
Close();
}
// 设置连接信息
void MySQLInterface::SetMySQLConInfo(CString server CString usernameCString password CString database CString port)
{
}
void MySQLInterface::SetMySQLConInfo(char* server char* username char* password char* database int port)
{
MysqlConInfo.server = server;
MysqlConInfo.user = username;
MysqlConInfo.password = password;
MysqlConInfo.database = database;
MysqlConInfo.port = port;
}
// 打开连接
bool MySQLInterface::Open()
{
if (mysql_real_connect(&MysqlInstance MysqlConInfo.server MysqlConInfo.user
MysqlConInfo.password MysqlConInfo.database MysqlConInfo.port 0 0) != NULL)
{
return true;
}
else
{
ErrorIntoMySQL();
return false;
}
}
bool MySQLInterface::OpenSql(CString server CString username CString password CString database CString port)
{
USES_CONVERSION;
if (mysql_real_connect(&MysqlInstance W2A(server) W2A(username)
W2A(password) W2A(database) _ttoi(port) 0 0) != NULL)
{
return true;
}
else
{
ErrorIntoMySQL();
return false;
}
}
// 断开连接
void MySQLInterface::Close()
{
mysql_close(&MysqlInstance);
}
//读取数据
bool MySQLInterface::Select(const string& Querystr vector >& data)
{
if (0 != mysql_query(&MysqlInstance Querystr.c_str()))
{
ErrorIntoMySQL();
return false;
}
Result = mysql_store_result(&MysqlInstance);
// 行列数
int row = mysql_num_rows(Result);
int field = mysql_num_fields(Result);
MYSQL_ROW line = NULL;
line = mysql_fetch_row(Result);
int j = 0;
string temp;
vector >().swap(data);
while (NULL != line)
{
vector linedata;
for (int i = 0; i < field; i++)
{
if (line[i])
{
temp = line[i];
linedata.push_back(temp);
}
else
{
temp = ““;
linedata.push_back(temp);
}
}
line = mysql_fetch_row(Result);
data.push_back(linedata);
}
return true;
}
// 其他操作
bool MySQLInterface::Query(const string& Querystr)
{
if (0 == mysql_query(&MysqlInstance Querystr.c_str()))
{
return true;
}
ErrorIntoMySQL();
return false;
}
// 插入并获取插入的ID针对自动递增ID
int MySQLInterface::GetInsertID(const string& Querystr)
{
if (!Query(Querystr))
{
ErrorIntoMySQL();
return ERROR_QUERY_FAIL;
}
// 获取ID
return mysql_insert_id(&MysqlInstance);
}
//错误信息
void MySQLInterface::ErrorIntoMySQL()
{
ErrorNum = mysql_errno(&MysqlInstance);
ErrorInfo = mysql_error(&MysqlInstance);
}
//判断数据库是否存在,不存在则创建数据库,并打开
bool MySQLInterface::createDatabase(string& dbname)
{
std::string queryStr = “create database if not exists “;
queryStr += dbname;
if (0 == mysql_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 45568 2018-09-06 15:52 MySqlTest\.vs\MySqlTest\v14\.suo
文件 61440 2018-09-05 23:47 MySqlTest\Debug\MySqlTest.pdb
文件 122355712 2018-09-05 23:50 MySqlTest\ipch\MYSQLTEST-12bb64a\MYSQLTEST-856acd40.ipch
文件 103481344 2018-09-05 23:44 MySqlTest\ipch\MYSQLTEST-12bb64a\MYSQLTEST-adecefe2.ipch
文件 489 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.log
文件 97784 2018-09-05 23:45 MySqlTest\MySqlTest\Debug\MySqlTest.obj
文件 55246848 2018-09-05 23:45 MySqlTest\MySqlTest\Debug\MySqlTest.pch
文件 69768 2018-09-05 23:45 MySqlTest\MySqlTest\Debug\MySqlTest.res
文件 2126 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\CL.command.1.tlog
文件 100532 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\CL.read.1.tlog
文件 1570 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\CL.write.1.tlog
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 2 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\li
文件 184 2018-09-05 23:47 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\MySqlTest.lastbuildstate
文件 370 2018-09-05 23:45 MySqlTest\MySqlTest\Debug\MySqlTest.tlog\rc.command.1.tlog
............此处省略69个文件信息
相关资源
- Vs2015+Qt5.8+Opencv读取大恒水晶 MER-131摄
- 基于深度学习的人脸识别签到系统
- mfc数据库sqlite3的基本操作
- MFC UDP 发送与接收
- C++builder直连MySQL
- VS2015MFC图形系统开发基本图形绘制线
- 基于VS2015的MFC的多线程同步套接字网
- 基于MFC做的简单的二维CAD软件
- C++、MFC连接MYSQL实现增删改查
- 基于Qt的信息管理系统设计.zip
- C语言连接mysql,实现通讯录功能
- c语言编写的一个基于mysql简单数据管
- C与MYSQL连接
- 吕鑫-VS2015之C.C++.MFC等完整视频链接
- win10下vs2015编译TensorFlow1.4 C++源码 CP
- MySQL——长途汽车管理系统c语言版,
- 图书管理系统MYSQL加c++
- VS2015与MySql的连接C++
- Mysql数据库语句、增删该查总结及MF
- 吕鑫老师VS2015MFC视频
- 用VS2015+opencv3.4.2+C++编写Yolov3目标检测
- Linux+Apache+Nginx+Mysql+PHP完美配置教程
- c++简单线程池的实现
- ubuntu交叉编译mysql的C语言程序到ARM开
- 吕鑫VS2015之C.C++.MFC完整视频
- mysql封装.zip
- C++实现ATM机程序采用mysql连接
- MFC封装的MySQL操作类
- 用MFC+mysql做的培训中心收费系统
- Linux GTK 聊天室 MySql C语言聊天室
评论
共有 条评论