(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)相关推荐

  1. linux mysql 不稳定_linux,mysql:今天写出一个十分弱智的bug!

    今天写出一个十分弱智的bug,记录一下,提醒自己以后别这种犯错,不怕丢人哈~ 在写一个分页查询记录的sql时,要根据添加的时间逆序分页输出,之前的写法是酱紫: select record.a, y.c ...

  2. mysql 用户名 长度_一个 MySQL 用户名长度的坑

    今天使用 PHP 连接一个 MySQL 数据库的时候连不上,提示无权限. 因为 MySQL 是在另外一个机房,首先想到的是防火墙的原因,但使用 MySQL-cli 却能正常连接,遂排除这种可能. 又怀 ...

  3. mysql.connector写了一个简单的mysql操作类:

    mport pymysql class MyDB(): def __init__(self, host="127.0.0.1", username="root" ...

  4. mysql datetime转date_一个MySQL时间戳精度引发的血案

    本文阅读时间大约6分钟. 写在前面 最近工作中遇到两例mysql时间戳相关的问题,一个是mysql-connector-java和msyql的精度不一致导致数据查不到:另一例是应用服务器时区错误导致数 ...

  5. mysql 表列表_一个MySQL表中的多列表显示

    从MySQL表中显示多列时遇到问题 这很简单 - 我有28条记录,我想做7行4行 - 每条记录只有两列 - id#和name(表中的"句柄"). 我的问题是,当我使用 > $ ...

  6. workbench mysql mac_mysql workbench mac下载-mysql workbench mac 64位下载8.0.15 官方最新版__西西软件下载...

    MySQL Workbench mac版是专为数据库架构师.开发人员和 DBA 打造的一个统一的可视化工具.MySQL Workbench 为数据库管理员.程序开发者和系统规划师提供可视化的Sql开发 ...

  7. mysql封装执行_解决Mysql封装类执行报错——Mysql::insert() should not be called

    今天在写程序的时候使用了别的程序员写的一个Mysql封装类,但是执行后php会报错:Strict standards: Non-static method Mysql::insert() should ...

  8. MySQL中文参考手册--1.MySQL的一般信息

    MySQL中文参考手册--1.MySQL的一般信息 0 译者序 MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用.由于它的强大功能.灵活性.丰富的应 ...

  9. MySQL内部开发人员如何看待MySQL组复制?

    MySQL因为高性能.可扩展性和可用性被广泛应用于Web应用程序,成为支持高流量社交媒体.电商应用程序以及快速成长企业的IT平台基础.在MySQL 5.7.17版本中,MySQL Group Repl ...

最新文章

  1. 输入两个整数a和b,计算a+b的和
  2. linux进程VSZ(虚拟内存)
  3. 从思维导图学习操作系统(二)
  4. 洛谷P1678-烦恼的高考志愿
  5. 02.es的节点发现和集群构建
  6. SQL9 查找除复旦大学的用户信息(数据库否定语句写法)
  7. xslt 标签取集合第一条数据_1+x证书Web前端开发中级理论考试(试卷1)
  8. ant-design tree 设置默认选中状态_快速掌握文件夹位置的更改和文件的默认打开方式及重命名的操作...
  9. (57)Verilog HDL选择运算符:?
  10. 自己编写错误代码的规范
  11. Linux内核设计第四周——扒开系统调用三层皮
  12. 第十节 javascript之第四节 函数
  13. 如何在升级数据表的同时保留原数据
  14. java设置时间_怎么用java设置系统时间?
  15. 转,python的匿名函数lambda解释及用法
  16. ISO50001认证辅导,这套新标准将取代主要着重实物资产管理的 PAS55系列标准
  17. matlab gui 数据处理,基于MATLAB GUI的数据处理分析界面的设计与应用
  18. 花一天时间做一个高质量飞机大战游戏,过万字Unity完整教程!漂亮学妹看了直呼666!
  19. 个人总结的Git操作
  20. 使用dd命令完整拷贝系统分区到另外一个硬盘上

热门文章

  1. 套接字,TCP,UDP
  2. Linux 相关术语_002
  3. 细谈最近上线的Vue2.0项目(一)
  4. 关于opencv的几个小总结
  5. 关于面试 | 面试官
  6. 补遗篇之volatile
  7. SAP中方会计凭证打印解决方案
  8. 【推荐实践】深度学习在阿里B2B电商推荐系统中的实践
  9. Python入门到精通三天速成第三讲——多重继承
  10. 水土不服?谈一谈机器学习在金融风控实践经验