资源简介
使用C++语言对MySQL数据库的基本操作进行了封装,基于面向对象思想,可以应用在简单的项目实战中,亲测可用哦,欢迎下载交流
代码片段和文件信息
#include“CSingleton.h“
#include
CSingleton * CSingleton::getInstance(void)
{
if (CSingleton::instance == NULL)
{
CSingleton::instance = new CSingleton();
}
return CSingleton::instance;
}
CSingleton::CSingleton()
{
mysql = mysql_init(NULL);
if (mysql==NULL)
{
EXIT_ERROR(“init error:“);
}
}
void CSingleton::connect(string host string user string passwd string database)
{
if (mysql_real_connect(mysql host.c_str() user.c_str() passwd.c_str()database.c_str() 0 NULL 0)==NULL)
{
cout << “Query Error:“ << mysql_error(mysql) << endl;
}
else
{
cout << “database connect success!“ << endl;
}
}
bool CSingleton::setTable(string sql)
{
//返回值:0表示正常,非0表示发生了错误
if (mysql_query(mysql sql.c_str()))
{
cout << “Query Error:“ << mysql_error(mysql) << endl;
return false;
}
return true;
}
bool CSingleton::delTable(const char * tablename)
{
char strsql[128];
sprintf(strsql “drop table %s;“ tablename);
if (mysql_query(mysql strsql))
{
cout << “Query Error:“ << mysql_error(mysql) << endl;
return false;
}
return true;
}
bool CSingleton::insertValues(const char * tablename char values[])
{
char sql[128] = ““;
int i = 0;
char *str = NULL;
////每一个表最多有10列属性
char *valuesbuff[10] = { NULL };
str = strtok(values ““);
while (str != NULL)
{
valuesbuff[i++] = str;
str = strtok(NULL ““);
}
switch (i)
{
case 1:
sprintf(sql “insert into %s values(‘%s‘)“ tablename valuesbuff[0]);
break;
case 2:
sprintf(sql “insert into %s values(‘%s‘‘%s‘)“ tablename valuesbuff[0] valuesbuff[1]);
break;
case 3:
sprintf(sql “insert into %s values(‘%s‘‘%s‘‘%s‘)“ tablename valuesbuff[0] valuesbuff[1] valuesbuff[2]);
break;
case 4:
sprintf(sql “insert into %s values(‘%s‘‘%s‘‘%s‘‘%s‘)“ tablename valuesbuff[0] valuesbuff[1] valuesbuff[2] valuesbuff[3]);
break;
case 5:
sprintf(sql “insert into %s values(‘%s‘‘%s‘‘%s‘‘%s‘‘%s‘)“ tablename valuesbuff[0] valuesbuff[1] valuesbuff[2] valuesbuff[3] valuesbuff[4]);
break;
case 6:
sprintf(sql “insert into %s values(‘%s‘‘%s‘‘%s‘‘%s‘‘%s‘‘%s‘)“ tablename valuesbuff[0] valuesbuff[1] valuesbuff[2] valuesbuff[3] valuesbuff[4] valuesbuff[5]);
break;
case 7:
sprintf(sql “insert into %s values(‘%s‘‘%s‘‘%s‘‘%s‘‘%s‘‘%s‘,‘%s‘)“ tablename valuesbuff[0] valuesbuff[1] valuesbuff[2] valuesbuff[3] valuesbuff[4] valuesbuff[5] valuesbuff[6]);
break;
case 8:
sprintf(sql “insert into %s values(‘%s‘‘%s‘‘%s‘‘%s‘‘%s‘‘%s‘,‘%s‘‘%s‘)“ tablename valuesbuff[0] valuesbuff[1] valuesbuff[2] valuesbuff[3] valuesbuff[4] valuesbuff[5] valuesbuff[6] valuesbuff[7]);
break;
case 9:
sprintf(sql “insert into %s values(‘%s‘‘%s‘‘%s‘‘%s‘‘%s‘‘%s‘,‘%s‘‘%s‘,‘%s‘)“ tablename valuesbuff[0] valuesbuff[1] valuesbuff[2] valuesbuff[3] valuesbuff[4] valuesbuff[5] valuesbuff[6]valuesbuff[7] valuesbuff[8]);
br
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5089 2020-05-15 19:20 mysql封装\CSingleton.cpp
文件 1613 2020-05-15 18:52 mysql封装\CSingleton.h
文件 1028 2020-05-15 19:21 mysql封装\main.cpp
目录 0 2020-05-15 20:07 mysql封装\
- 上一篇:简易电子琴_proteus.rar
- 下一篇:学生作业完成情况管理系统C++含报告
相关资源
- 学生作业完成情况管理系统C++含报告
- 诊所信息管理系统.cpp
- 六子棋游戏即二打一棋C++源程序
- C++实现哈夫曼树及哈夫曼编码.rar
- C++ primer plus第五版学习笔记
- 判断一个代数系统的封闭性、结合律
- C++(CS起源GDI透视自瞄)+代码全写了
- 数据结构——迷宫问题
- C++读取csv到数组.zip
- C++四步相移求得包裹/展开相位
- [C++大学教程 C++ How to program(第九版)
- 基于QT的局域网聊天软件开发文献综述
- C++/MFC高清视频教程
- c++经典例题
- VS2010C++调用python报错无法打开包括文
- 一次性口令身份认证的设计与实现c
- 数据结构研讨代码以及ppt
- 画线算法C++的实现-鼠标交互
- n元哈夫曼编码
- C++机房收费系统
- 数据结构和算法案例-欢乐五子棋 C+
- 操作系统进程调度C++代码实现
- 操作系统请求分页存储器管理C++代码
- C++语言标准化考试系统
- Linux文件模拟器
- 卡尔曼滤波C++代码实现.zip
- 基于c++的markdown解析器
- c语言程序实现PC端通过USB端口与单片
- Draw项目的地址.txt
- 基于opencv的C++人眼识别以及眨眼检测
评论
共有 条评论