iphone - sqlite3 and fmdb nested FMResultSet is possible? -


i'm trying iterator through master detail sort of tables , i'd populate master/detail structures go. apparently when nest result sets bad access exception:

fmdatabase *db = self.database; [db open]; db.traceexecution = yes; db.logserrors = yes; fmresultset *rs = [db executequery:@"select group_id, label main.preference_group order group_id"]; while ([rs next]) {     preferencegroup *pg = [[preferencegroup alloc] init];     pg.group_id = [rs intforcolumn:@"group_id"];     pg.label = [rs stringforcolumn:@"label"];     pg.translatedlabel = nslocalizedstring(pg.label, nil);     nsmutablearray * prefs = [[nsmutablearray alloc] init];     [prefgroups addobject:prefs];     fmresultset *rs2 = [db executequery:@"select pref_id, label, value main.preference group_id = ? order pref_id", pg.group_id, nil];         while ([rs2 next])         {             preference * pref = [[preference alloc] init];             pref.group_id = pg.group_id;             pref.pref_id = [rs2 intforcolumn:@"pref_id"];             pref.label = [rs2 stringforcolumn:@"label"];             pref.value = [rs2 stringforcolumn:@"value"];             pref.translatedlabel = nslocalizedstring(pref.value, nil);             [prefs addobject:pref];         }         [rs2 close];     }     [rs close];     [db close]; 

in rs2 (second result set) exec_bad_access within fmdatabase class.

is restriction of sqlite3/fmdb or doing wrong here?

i found did wrong. passing int part of second query. had convert nsnumber:

            fmresultset *rs2 = [db executequery:@"select pref_id, label, value main.preference group_id = ? order pref_id", [nsnumber numberwithint:pg.group_id], nil]; 

so means, yes, sqlite3/fmdb support nested queries! :-)


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -