executeStatement
这些方法执行带有可变参数列表的 SQL 插入、更新或删除语句,返回一个整数值,表示受影响的表行数。
executeQuery() 的第一个版本启动一个隐式只读数据库事务,并在完成时回滚该事务。当调用 executeQuery() 的第二个版本(带有 trans 参数)时,该查询在这个事务的上下文中执行;调用应用程序代码负责启动以及提交或回滚该事务。多个插入操作可以进行优化。
int64_t SqlEngine::executeStatement(sql, ...);
int64_t SqlEngine::executeStatement(trans, sql, ...)
参数
sql
char const*
包含可能从变量列表中替换参数的 SQL 选择语句的字符串。
trans
Transaction*
一个事务实例。当传递时,不会启动或提交隐式数据库事务。
当不存在时,SQL 选择语句会在隐式数据库事务中执行。
...
char const*
一个可变长度的参数列表,用于替换到 SQL 字符串中。
参数替换,请参阅参数替换格式说明页面。
返回
int
这些方法返回一个整数值,表示受影响的表行数。
RuntimeException
在出现错误的情况下抛出一个 RuntimeException 异常。
示例
int main(int argc, char* argv[])
{
McoSqlEngine engine;
...
engine.open(
db_name, // 数据库名
SqlDb_get_dictionary(), // 数据库字典
DATABASE_SIZE, // 数据库大小
MEMORY_PAGE_SIZE, // 页面大小:通常由处理器架构决定。
MAP_ADDRESS); // 共享内存模式的映射地址
...
rc = engine.executeStatement("delete from Person where name=%s", "Thomas");
...
}