sqlite3 no insert is done after --> insert into --> SQLITE_DONE

Posted by Fra on Stack Overflow See other posts from Stack Overflow or by Fra
Published on 2010-04-09T06:53:29Z Indexed on 2010/04/09 8:23 UTC
Read the original article Hit count: 408

Filed under:
|
|

Hi all,

I'm trying to insert some data in a table using sqlite3 on an iphone... All the error codes I get from the various steps indicate that the operation should have been successful, but in fact, the table remains empty...I think I'm missing something...

here the code:

sqlite3 *database = nil;
NSString *dbPath = [[[ NSBundle mainBundle ] resourcePath ] stringByAppendingPathComponent:@"placemarks.sql"];

if(sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK){

sqlite3_stmt *insert_statement = nil;
//where int pk, varchar name,varchar description, blob picture
static char *sql = "INSERT INTO placemarks (pk, name, description, picture) VALUES(99,'nnnooooo','dddooooo', '');";
    if (sqlite3_prepare_v2(database, sql, -1, &insert_statement, NULL) != SQLITE_OK) {
        NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));
    }

int success = sqlite3_step(insert_statement);

int finalized = sqlite3_finalize(insert_statement);

NSLog(@"success: %i finalized: %i",success, finalized);

NSAssert1(101, @"Error: failed to insert into the database with message '%s'.", sqlite3_errmsg(database));


sqlit3_step returns 101, so SQLITE_DONE, which should be ok..

If I execute the sql statement in the command line it works properly...

anyone has an idea? could it be that there's a problem in writing the placemarks.sql because it's in the resources folder?

rgds

Fra

© Stack Overflow or respective owner

Related posts about sqlite3

Related posts about iphone-sdk