C sqlite3如何在准备和绑定后打印实际查询?

wil*_*oup 2 c sqlite

如何打印在这样的代码部分中执行的实际最终sqlite3查询?

int rc;
sqlite3_stmt *res;
char *query = "";
query = "SELECT count(*) FROM `db_report` WHERE `r_sn` = ?;";
rc = sqlite3_prepare_v2(db, query, -1, &res, 0);
if (rc == SQLITE_OK)
{
    sqlite3_bind_text(res, 1, sn, strlen(sn), SQLITE_STATIC);
} 
int step = sqlite3_step(res);
PRINT REAL QUERY
sqlite3_finalize(res);
return 0;
Run Code Online (Sandbox Code Playgroud)

非常感谢 :)

Sto*_*ica 8

您可以使用sqlite3_expanded_sql检索指向包含最终查询的字符串的指针,并扩展绑定参数.