1
このようなコードの一部で実行される実際の最終的なsqlite3クエリをどのように出力できますか?C 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;
どうもありがとう:)
お役立ち情報使用されることはありませんが、デバッグ目的には便利です。 – LPs
"sqlite3_sql"を使って展開されていないクエリを取得していますが、 "sqlite3_expanded_sql"を使用しようとすると "関数 'sqlite3_expanded_sql'の暗黙の宣言があります。 cc -c libsqlite.c -lsqlite3 – willygroup
@willygroup - [V3.14](https://www.sqlite.org/changes.html)に追加されました。あなたはそれ以上を持っていることを確認してください。 – StoryTeller