【问题标题】:SQLite on iPhone - Get final query string with parameters after bindingiPhone上的SQLite - 绑定后获取带有参数的最终查询字符串
【发布时间】:2009-10-27 11:06:46
【问题描述】:

我想获得最终的 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。已经快一岁了——所以我想再问一次应该没问题……

提前致谢,
马库斯

【问题讨论】:

    标签: iphone objective-c sqlite


    【解决方案1】:

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

    【讨论】:

    • 非常感谢。会试试的! :)
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-09
      • 2016-07-10
      相关资源
      最近更新 更多