Вы должны использовать параметризованный оператор и значения привязки, например так:
const char *sqlStatement = "select ZWAYPOINT_X, ZWAYPOINT_Y from ZWAYPOINT where ZMAP_ID = ?";
sqlite3_stmt *compiledStatement;
if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK)
{
sqlite3_bind_text( compiledStatement, 1, [mapID UTF8String], -1, SQLITE_TRANSIENT );
(Обратите внимание, что при привязке параметров вы начинаете с 1, но при чтении столбцов из строк результата вы начинаете с 0...).Я предполагаю, что ваш mapID является строкой NSString, так как вы пытались вставить его в свой запрос, используя% @.Если это что-то еще, вам придется использовать другую функцию связывания и, очевидно, пропустить UTF8String
.