SQLite на iPhone - получить окончательную строку запроса с параметрами после привязки - PullRequest
0 голосов
/ 27 октября 2009

Я хотел бы получить окончательный SQL-запрос со связанными (замененными) значениями параметров для отладки. Это довольно большой и сложный запрос (некоторые объединения и около 20 параметров). Интересно, можно ли получить доступ к последнему запросу, переданному в базу данных sqlite.

//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. Ему почти год, поэтому я подумал, что спрашивать снова должно быть в порядке…

Заранее спасибо,
Markus

Ответы [ 2 ]

1 голос
/ 27 октября 2009

Вы хотите взглянуть на этот вопрос. В принципе, вы можете написать свой собственный sqlite3_trace для записи последнего запроса.

0 голосов
/ 14 ноября 2016

Начиная с SQLite 3.14, есть функция sqlite3_expanded_sql().

Вы можете вызвать его внутри обратного вызова, зарегистрированного с помощью функции sqlite3_trace_v2().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...