sqlite - FMDatabase iOS INSERT issues -
sqlite - FMDatabase iOS INSERT issues -
i'm making application database. modal utilize fmdatabase classes. have insert new info in 2 tables: -project(id_proj primary key autoince unique, name, baseimage) -imagesforpro(id_img primkey autoincr unique, smallimage, largeimage, id_proj) have method -(void)addproject:(project*)proj
pass project object. have insert projectname , baseimage project table , extract id_proj of record i've inserted , insert little , larges images imagesforpro table.how remeber id_proj(which autoincrement) lastly inserted record? moreover, how utilize insert? utilize properly? how set nsdata database properly? thanks. here have far:
-(void)addproject:(project*)proj { [db open]; nsdata *bmdata=uiimagepngrepresentation(proj.baseimage); if (proj==nil) { nslog(@"dead object"); } nslog(@" new name %@", proj.projectname); //doesn't work //id_proj autoincrement field that's why pass name , base of operations image [db executeupdate:@"insert project values (?,?)", [proj.projectname utf8string], bmdata]; //sqlite3_last_insert_rowid() [db close]; sqlite3 *datab; int status=sqlite3_open([[self dbpath] utf8string], &datab); if(status!=sqlite_ok) { nslog(@"error"); //exit(1); } //returns 0( int lastindex=sqlite3_last_insert_rowid(datab); nslog(@"last inserted index %i", lastindex); sqlite3_close(datab); [db open]; //add images project (another table) for(int i=0; i<[proj.largeimages count]; i++) { uiimage *smallimg=[proj.smallimages objectatindex:i]; uiimage *bigimg=[proj.largeimages objectatindex:i]; nsdata *sidata=uiimagepngrepresentation(smallimg); nsdata *bidata=uiimagepngrepresentation(bigimg); // here have insert image , id of project refers //how find out lastly inserted id_proj? [db executeupdate:@"insert imagesforpro values (?,?,?)", sidata, bidata, lastindex]; } [db close]; }
ios sqlite insert fmdb
Comments
Post a Comment