首页 > 代码库 > Mysql ConnectC/C++使用

Mysql ConnectC/C++使用

  前一阵子搞那个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++使用