iPhone上的SQLite - 绑定后获取带参数的最终查询字符串

时间:2009-10-27 11:06:46

标签: iphone objective-c sqlite

我想获得最终的SQL查询,并将参数值绑定(替换)以进行调试。这是一个相当大而复杂的查询(一些连接,大约20个参数)。只是想知道是否可以访问传递给sqlite db的最终查询。

//PSEUDO CODE

theSQL = "SELECT a,b,c FROM myTable where aField = ?";
sqlite3_prepare_v2(myDb, theSQL, -1, &compiledStatement, NULL);
sqlite3_bind_text(compiledStatement, 1, myUTF8stringParam, -1, SQLITE_STATIC);

theSQLwithBoundParams = //<<<--- here is missing what I look for ;)
NSLog(@"Perpared Statement with params: %@", theSQLwithBoundParams);

...

我已经浏览了网页和sqlite文档而没有运气。 作为参考,我在stackoverflow上找到了a similar question。它已经差不多一年了 - 所以我想再问一次应该没事......

提前致谢,
马库斯

2 个答案:

答案 0 :(得分:1)

您可能需要查看this问题。基本上,你可以自己编写 sqlite3_trace记录最新查询。

答案 1 :(得分:0)

从SQLite 3.14开始,有sqlite3_expanded_sql()函数。

您可以在使用sqlite3_trace_v2()功能注册的回调中调用它。