码迷,mamicode.com
首页 > 数据库 > 详细

Mysql ConnectC/C++使用

时间:2015-01-15 01:40:23      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:

  前一阵子搞那个QT发布使用mysql程序的驱动问题搞得头大(实际应该是自己太弱了),弄了几天也没搞定,就放弃是用那个了,泪崩,舍不得。这两天看看connectC/C++的使用方法。
   还是老样子,LINUX+QT。
  建立一个console程序,测试demo依然脸皮厚的写在了main文件内。PRO文件依然需要加入LIBS += -L /usr/lib/mysql -lmysqlclient -lmysqlpp

 下面是ConnectC++ API接口,ConnectC API接口网上的例子好像比较多,头文件是使用mysql.h。自己也用自带的demo测试了下。不得不说,这个没有QT的好用,但是发布程序不用搞driver了,也是蛮爽的。简单使用,方便以后学习。
主要内容如下:
 #define MYSQLPP_MYSQL_HEADERS_BURIED//这个必须指定否则可能出现mysql_version.h找不到的情况。

#include <QCoreApplication>
#include<iostream>
#include<mysql++/mysql++.h>

using namespace std;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
   
    const char* server="localhost";
    const char* db="mysql";
    const char* user="root";
    const char* passwd="Aa,,..1234";

    mysqlpp::Connection conn(false);

    if(conn.connect(db,server,user,passwd))
    {
        mysqlpp::Query query=conn.query("select host,user,password from user");
        if(mysqlpp::StoreQueryResult res=query.store())
        {
            cout<<"host"<<‘\t‘<<"user"<<‘\t‘<<"password"<<endl;
            for(size_t i=0;i<res.num_rows();++i)
            {
                for(size_t j=0;j<res.num_fields();++j)
                {
                    cout<<res[i][j]<<‘\t‘;
                    if(j==2)
                        cout<<endl;
                }
            }
        }
        else
        {
            cerr<<"Failed to get Item list:"<<query.error()<<endl;
            return 1;
        }
        return 0;
    }
    else
    {
        cerr<<"DB connection failed:"<<conn.error()<<endl;
        return 1;
    }

    return a.exec();
}

 

Mysql ConnectC/C++使用

标签:

原文地址:http://www.cnblogs.com/hanbim/p/4225325.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!