2014年01月16日 星期四 10:46
Poco的Data模块提供了对关系数据库的一般操作方法,目前支持MySQL和SQLite还有ODBC。其完全是真正C++风格的API,相比之前使用APR dbd的代码,显得非常简洁。
代码示例如下:
#include <iostream>
#include <Poco/Data/Session.h>
#include <Poco/Data/MySQL/Connector.h>
#include <Poco/Data/Statement.h>
using namespace std;
using namespace Poco;
using namespace Poco::Data;
int main(int argc, char** argv) {
    MySQL::Connector::registerConnector();
    Session mysql("MySQL","host=10.1.9.140;port=3306;user=user;password=pass;db=test;auto-reconnect=true");
    mysql << "insert into friends (name,email) values ('netbeans','netbeans@163.com')",now;
    string name="abc";
    string email=name+"@163.com";
    Statement insert(mysql);
    insert << "insert into friends (name,email) values (?,?)",use(name),use(email);
    insert.execute();
    name+=name;
    email=name+"@163.com";
    insert.execute();
    Statement select(mysql);
    select << "select name,email from friends",into(name),into(email),range(0,1);
    while(!select.done()){
        select.execute();
        cout << "name: " << name << " " << "email: " << email << endl;
    }
    mysql.begin();
    mysql << "delete from friends",now;
    mysql.commit();
    //mysql.rollback();
    mysql.close();
    return 0;
}
参考资料:
/usr/include/Poco/Data/Session.h
/usr/include/Poco/Data/Statement.h
Zeuux © 2025
京ICP备05028076号