当前位置:  开发笔记 > 编程语言 > 正文

从SQLite中的预准备语句中获取原始SQL查询

如何解决《从SQLite中的预准备语句中获取原始SQL查询》经验,为你挑选了0个好方法。

我正在使用来自C++应用程序的SQLite(3.6.4)(使用标准的C api).我的问题是:一旦查询已经准备好,使用sqlite3_prepare_v2()和绑定参数使用sqlite3_bind_xyz()- 是否有任何方法可以获得包含原始SQL查询的字符串?

原因是当出现问题时,我想打印查询(用于调试 - 这是一个内部开发人员只有测试应用程序).

例:

sqlite3_prepare_v2(db, "SELECT * FROM xyz WHERE something = ? AND somethingelse = ?", -1, &myQuery, NULL);
sqlite3_bind_text(myQuery, 1, mySomething);
sqlite3_bind_text(myQuery, 2, mySomethingElse);
// ....

// somewhere else, in another function perhaps
if (sqlite3_step(myQuery) != SQLITE_OK)
{
     // Here i'd like to print the actual query that failed - but I 
     // only have the myQuery variable
     exit(-1);
}

奖励点如果它还可以打印出绑定的实际参数.:)

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有