6.4 使用预处理语句

如果您不熟悉 MySQL 中的 Prepared Statements,请查看文件中的源代码注释和解释 examples/prepared_statement.cpp

sql::PreparedStatement是通过将 SQL 查询传递给 来创建的 sql::Connection::prepareStatement()。由于 sql::PreparedStatement源自 sql::Statement,一旦您学会了如何使用(简单的)语句 ( ),您就会对 API 感到熟悉sql::Statement。例如,获取结果的语法是相同的。

// ...
sql::Connection *con;
sql::PreparedStatement  *prep_stmt
// ...

prep_stmt = con->prepareStatement("INSERT INTO test(id, label) VALUES (?, ?)");

prep_stmt->setInt(1, 1);
prep_stmt->setString(2, "a");
prep_stmt->execute();

prep_stmt->setInt(1, 2);
prep_stmt->setString(2, "b");
prep_stmt->execute();

delete prep_stmt;
delete con;
笔记

您必须使用 显式释放sql::PreparedStatementsql::Connection对象delete