2013-10-08 118 views

回答

0

因此,我只是检查出this,它看起来像使用模板查询部分是将SQL语句传递给MySQL ++的方式。所以我想这应该是部分使用MySQL ++创建MySQL语句的途径。

// Establish the connection to the database server. 
    mysqlpp::Connection con(mysqlpp::examples::db_name, 
      cmdline.server(), cmdline.user(), cmdline.pass()); 

    // Build a template query to retrieve a stock item given by 
    // item name. 
    mysqlpp::Query query = con.query(
      "select * from stock where item = %0q"); 
    query.parse(); 

此外,为应对:

是它像一个真正的MySQL的声明?

发生了什么事情是编译器正在把你的C++代码包含你想要执行的语句,然后与你的MySQL数据库进行通信,在这一点上使用'真实'的SQL语句。

+0

首先,谢谢德鲁的回复。问题是我正在查看库内部,并且在将语句发送到要编译的服务器时,我没有看到它。我担心它只是解析语句并像简单的查询那样执行它。 – yosbel

+0

欢迎。并陷入困境。所以你担心你的查询可能不会被处理MySQL ++库中的查询的代码正确执行? – Drew

+0

我担心执行时间更多,如果语句作为查询执行而不是编译语句。 :) – yosbel

0

最直接的方法是使用Connection类的query()公共成员函数。

使用模板并不是真正的需要,尽管如果你愿意的话也可以。

query()函数将SQL语句作为字符串值并返回Query对象。

类查询功能定义如下:

  • 查询(常量的std :: string & QSTR)
  • 查询(为const char * QSTR = 0)

你可以在reference guide找到很多细节。

+0

感谢您的答复Dave,你知道MySQL ++中的mysqlpp :: MultiStatementsOption是什么意思吗? – yosbel