我使用SQLite從C++應用程序(3.6.4)(使用標準的C API)。我的問題是:一旦查詢已準備好,使用sqlite3_prepare_v2()
,並使用參數sqlite3_bind_xyz()
進行綁定 - 是否有任何方法可以獲取包含原始SQL查詢的字符串?獲取從準備好的聲明原始SQL查詢SQLite中
原因是當出現問題時,我想打印查詢(用於調試 - 這是一個內部開發人員只測試應用程序)。
例如:如果
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);
}
獎勵積分也可以打印出被捆綁的實際參數。 :)
感謝您的答覆,我會試試看 – 2009-09-09 10:25:21
這是儘可能有可能去沒有做太多的黑客。我接受,因爲似乎沒有一種正確的方式去做我最初想要的東西。 – 2010-03-17 09:43:58