Моя проблема в том, что я не могу получить значения из запроса select при выполнении ошибки 101.SQLite Query statement - Objective C
Я думаю, что моя проблема в том, что она должна быть с кавычками в операторе отбора
sqlite3 * базы данных;
NSString * path = [[[ NSBundle mainBundle ]resourcePath ] stringByAppendingPathComponent : @"cars.sqlite"];
int returnCode = sqlite3_open ([ path cStringUsingEncoding : NSUTF8StringEncoding], &database) ;
sqlite3_stmt * statement ;
char * st ;
NSString *querySQL = [NSString stringWithFormat: @"select brand,model from cars where brand=%@;", tmpbrand];
const char *query_stmt = [querySQL UTF8String];
st = sqlite3_mprintf (query_stmt);
if(sqlite3_prepare_v2 (database , query_stmt , -1 ,& statement ,NULL)==SQLITE_OK){
returnCode = sqlite3_step (statement) ; // this statement returns a record
while (returnCode == SQLITE_ROW) // while there are rows
{
models*tmp=[[models alloc]init];
char* n=(char*)sqlite3_column_text(statement,0);
tmp=[NSString stringWithCString:n encoding:NSUTF8StringEncoding];
char* model=(char*)sqlite3_column_text(statement, 1);
tmp.model=[NSString stringWithCString:model encoding:NSUTF8StringEncoding];
[data addObject:tmp];
returnCode = sqlite3_step (statement) ; // this statement returns a record
}
sqlite3_finalize(statement);
}
}
Я попытался сделать это с одинарной кавычкой, и я не смог заставить ее работать. Если это возможно, чтобы показать мне, как это сделать, используя подготовленные заявления .. Im довольно нищий в этом .. –
Вот первая ссылка в поиске Google для «объектного c sqlite подготовленного заявления»: http://stackoverflow.com/q/1187154/2998 –