dbhelp mysql c_C++写的一个MYSQL控制台(3)
(3).数据库操作类声明(include/dbhelper.h)源码
#ifndef _DBHELPER_H_
#define _DBHELPER_H_
#include
#include
#include
#include
#include
#include
#include"fields.h"
#include
using namespace std;
/*类型定义*/
typedef vector ResultType; //结果集类型
typedef vector > FieldType; //字段类型
typedef vector ListType; //一维类型
class DbHelper
{
private: //数据成员
MYSQL *db; //数据库操作符
bool isconn; //是否成功连接
bool isinit; //是否成功初始化
Fields *connect_arg; //连接参数
ResultType result; //结果集
FieldType fields; //字段列表
unsigned int num_fields; //字段数
bool hasresults; //是否有结果集
public: //函数
DbHelper(char *user,char *pass,char *server="localhost",unsigned int port=3306,
char *defaultDb="test",char *socket=NULL,unsigned int flag=0);
DbHelper(Fields &conf);
DbHelper(const DbHelper &d);
~DbHelper();
/*获取*/
bool getIsConn()const{ return isconn;}
bool getIsInit()const{ return isinit;}
Fields & getConnArg()const{ return *connect_arg;}
ResultType getResults()const{ return result;}
FieldType getFields()const{ return fields;}
unsigned int getFieldNums()const{ return num_fields;}
bool hasResults()const{ return hasresults;}
/*设置*/
void setIsConn(bool f=false){ isconn=f;}
void setIsInit(bool f=false){ isinit=f;}
void setConnArg(Fields &arg){ *connect_arg=arg;}
void setHasResults(bool f=false){ hasresults=f;}
void Init();
void Connect();
void DisConnect();
void ReConnect();
bool execSQL(char *sql);
void show();
void showField();
void showList(ListType::iterator beg,ListType::iterator end);
void freeResult();
bool useDb(char *database);
char *currentDb();
ListType listDbs();
ListType getEachRow(ResultType::iterator beg,ResultType::iterator end);
/*友元<
friend ostream & operator<
};
#endif
dbhelp mysql c_C++写的一个MYSQL控制台(3)相关推荐
- linux mysql 不稳定_linux,mysql:今天写出一个十分弱智的bug!
今天写出一个十分弱智的bug,记录一下,提醒自己以后别这种犯错,不怕丢人哈~ 在写一个分页查询记录的sql时,要根据添加的时间逆序分页输出,之前的写法是酱紫: select record.a, y.c ...
- mysql 用户名 长度_一个 MySQL 用户名长度的坑
今天使用 PHP 连接一个 MySQL 数据库的时候连不上,提示无权限. 因为 MySQL 是在另外一个机房,首先想到的是防火墙的原因,但使用 MySQL-cli 却能正常连接,遂排除这种可能. 又怀 ...
- mysql.connector写了一个简单的mysql操作类:
mport pymysql class MyDB(): def __init__(self, host="127.0.0.1", username="root" ...
- mysql datetime转date_一个MySQL时间戳精度引发的血案
本文阅读时间大约6分钟. 写在前面 最近工作中遇到两例mysql时间戳相关的问题,一个是mysql-connector-java和msyql的精度不一致导致数据查不到:另一例是应用服务器时区错误导致数 ...
- mysql 表列表_一个MySQL表中的多列表显示
从MySQL表中显示多列时遇到问题 这很简单 - 我有28条记录,我想做7行4行 - 每条记录只有两列 - id#和name(表中的"句柄"). 我的问题是,当我使用 > $ ...
- workbench mysql mac_mysql workbench mac下载-mysql workbench mac 64位下载8.0.15 官方最新版__西西软件下载...
MySQL Workbench mac版是专为数据库架构师.开发人员和 DBA 打造的一个统一的可视化工具.MySQL Workbench 为数据库管理员.程序开发者和系统规划师提供可视化的Sql开发 ...
- mysql封装执行_解决Mysql封装类执行报错——Mysql::insert() should not be called
今天在写程序的时候使用了别的程序员写的一个Mysql封装类,但是执行后php会报错:Strict standards: Non-static method Mysql::insert() should ...
- MySQL中文参考手册--1.MySQL的一般信息
MySQL中文参考手册--1.MySQL的一般信息 0 译者序 MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用.由于它的强大功能.灵活性.丰富的应 ...
- MySQL内部开发人员如何看待MySQL组复制?
MySQL因为高性能.可扩展性和可用性被广泛应用于Web应用程序,成为支持高流量社交媒体.电商应用程序以及快速成长企业的IT平台基础.在MySQL 5.7.17版本中,MySQL Group Repl ...
最新文章
- 输入两个整数a和b,计算a+b的和
- linux进程VSZ(虚拟内存)
- 从思维导图学习操作系统(二)
- 洛谷P1678-烦恼的高考志愿
- 02.es的节点发现和集群构建
- SQL9 查找除复旦大学的用户信息(数据库否定语句写法)
- xslt 标签取集合第一条数据_1+x证书Web前端开发中级理论考试(试卷1)
- ant-design tree 设置默认选中状态_快速掌握文件夹位置的更改和文件的默认打开方式及重命名的操作...
- (57)Verilog HDL选择运算符:?
- 自己编写错误代码的规范
- Linux内核设计第四周——扒开系统调用三层皮
- 第十节 javascript之第四节 函数
- 如何在升级数据表的同时保留原数据
- java设置时间_怎么用java设置系统时间?
- 转,python的匿名函数lambda解释及用法
- ISO50001认证辅导,这套新标准将取代主要着重实物资产管理的 PAS55系列标准
- matlab gui 数据处理,基于MATLAB GUI的数据处理分析界面的设计与应用
- 花一天时间做一个高质量飞机大战游戏,过万字Unity完整教程!漂亮学妹看了直呼666!
- 个人总结的Git操作
- 使用dd命令完整拷贝系统分区到另外一个硬盘上