Я использую SQLite (3.6.4) из приложения C++ (с использованием стандартного 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);
}
Бонусные баллы, если он также может распечатать фактические параметры, которые были связанные. :)
благодарит за ответ, я дам ему попробовать –
, это было настолько далеко, насколько это было возможно, не делая слишком много взлома. Я принимаю, потому что, похоже, нет подходящего способа сделать то, что я изначально хотел. –