1、数据库链接

int cppDatebase::DatabaseConnect(sBit8 *uName,sBit8 *pWord,sBit8 *dbName)

{

  dbHandle = mysql_init(NULL);
  if(NULL == dbHandle )
  {
    cout<<"mysql init error!"<<endl;
    return (-1);
  }  

  if(NULL == mysql_real_connect(dbHandle ,"localhost",uName,pWord,dbName,0,NULL,0))

  {
    cout<<"connect error!"<<endl;
    return (-1);
  }

  mysql_set_character_set(dbHandle ,"utf8");

  return 0;

}

2、数据库插入——增

int cppDatebase::DatabaseInsert(const char *cmd)
{
  if(NULL == cmd)
  {
    cout<<"[insert] cmd error"<<endl;
    return (-1);
  }

  int ret = mysql_query(dbHandle,cmd);
  if(ret !=0)
  {
    cout << "Database Insert Info: exist, I am updata." <<endl<<endl;
    return (-1);
  }

  return 0;
}

3、数据库删除——删

int cppDatebase::DatabaseDelete(const char *cmd)
{
  if(NULL == cmd)
  {
    cout<<"[delete] cmd error"<<endl;
    return (-1);
  }

  int ret = mysql_query(dbHandle,cmd);
  if(ret !=0)
  {
    cout << "Database Delete Info: not exist." <<endl<<endl;
    return (-1);
  }

  return 0;
}

4、数据库更新——改

int cppDatebase::DatabaseUpdate(const char *cmd)
{
  if(NULL == cmd)
  {
    cout<<"[update] cmd error"<<endl;
    return (-1);
  }

  int ret = mysql_query(dbHandle,cmd);
  if(ret !=0)
  {
    cout << "Database Update Info: not exist, I am insert." <<endl<<endl;
    return (-1);
  }

  return 0;
}

5、数据库查询——查

int cppDatebase::DatabaseQuery(char *cmd, char **row)
{
  if(NULL == cmd || NULL == row)
  {
    cout<<"[query] cmd error"<<endl;
    return (-1);
  }

  mysql_real_query(dbHandle,cmd,strlen(cmd));

  MYSQL_RES *result = mysql_store_result(dbHandle);
  if(result != NULL)
  {
    int numLine = mysql_num_rows(result);
    int numList = mysql_num_fields(result);
  }
  else
  {
    cout<<"[query] mysql_store_result error !"<<endl;
    return (-1);
  }
  while((row = mysql_fetch_row(result)))
  {
    printf("%s, %s %s %s\n",row[0],row[1],row[2],row[3]);
  }
  mysql_free_result(result);

  return 0;
}

6、数据库断开

int cppDatebase::DatabaseClose()
{
  mysql_close(dbHandle);

  return 0;
}

C/C++操作MySQL数据库——增、删、改、查的更多相关文章

  1. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

  2. day 37-8 关于mysql 的增 删 改 查 及联合列表

    1      VARCHAR : 字符串的意思 (括号内的数字代表尾数) 输入的字符串在这个范围内都行 CHAR  :字符串的意思(区别就有几位数字 必须写几位) INT   整数(位数) 输入的数字 ...

  3. python操作mysql数据库增删改查的dbutils实例

    python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...

  4. Asp.Net操作MySql数据库增删改查

    Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git  1.安装MySQL数据库 ...

  5. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  6. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  7. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  8. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  9. Golang原生sql操作Mysql数据库增删改查

    Golang要操作mysql数据库,首先需要在当期系统配置GOPATH,因为需要使用go get命令把驱动包下载到GOPATH下使用. 首先配置好你的GOPATH,执行以下命令,下载安装mysql驱动 ...

  10. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

随机推荐

  1. JS 点击复制Copy (share)

    分享自:http://www.cnblogs.com/athens/archive/2013/01/16/2862981.html 1.实现点击按钮,复制文本框中的的内容 1 <script t ...

  2. nginx+tomcat集群配置(3)---获取真实客户端IP

    前言: 在初步构建的nginx+tomcat服务集群时, 发现webserver获取到的客户端ip都是同一个, 皆为作为反向代理服务的nginx所在的机器IP. 这不太符合我们的基本需求, 为将来的数 ...

  3. Codeforces Round #378 (Div. 2) A B C D 施工中

    A. Grasshopper And the String time limit per test 1 second memory limit per test 256 megabytes input ...

  4. 2015GitWebRTC编译实录15

    各个库编译完成后,整合talkapp,联编时还是碰到了一些问题,主要是lib里的源码文件被错误移走,或者宏定义等有问题的,不一而足 FQ访问https://apprtc.appspot.com/,拿到 ...

  5. bootstrap-11

    下拉菜单(基本用法) 在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件.当然,如果你使用的是未编译版本,在js文件夹下你能找到一个名为“dro ...

  6. #import 跟 #include、@class 之间的区别

    #include 是 C/C++ 导入头文件的关键字  是完整的包含某个文件的内容(包括该文件中被导入的文件) #import 是 OC 导入头文件的关键字 #import 指令是 OC 针对 #in ...

  7. 解决Ubuntu输入正确密码后无法进入桌面,一直停留在登陆界面的问题

    在登陆界面按下Ctrl + Shift + F1 进入命令行模式,输入你的用户名和密码之后,敲入下面几行命令就可以了! $ cd - $ sudo chown 你的用户名:你的用户名 .Xauthor ...

  8. 解决MVC中使用BundleConfig.RegisterBundles引用Css及js文件发布后丢失的问题

    ASP.NET MVC4,ASP.NET MVC5中对JS和CSS的引用又做了一次变化,在MVC3中我们这样引用资源文件: <link href="@Url.Content(" ...

  9. Java项目下jar包的放置

    build path:引用 web-inf/lib:固定 eclipse编译项目是根据build path的.如果不用eclipse来发布项目的话,就会找不到jar. tomcat运行时首先在它自己的 ...

  10. UILabel的使用

    UILabel是iOS用于显示文本的控件. 基本属性如下代码所示: UILabel *lbl = [[UILabel alloc] init] ; //设置显示区域 lbl.frame = CGRec ...