Как вставить запись в Sqlite? - PullRequest
1 голос
/ 30 ноября 2010

пожалуйста, кто-нибудь подскажите, как вставить записи в sqlite через цель c?

Ответы [ 2 ]

3 голосов
/ 30 ноября 2010

Вы можете использовать блок кода, подобный этому

-(NSString*) GetDatabasePath {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
        NSUserDomainMask, YES) ;
    NSString *documentsDirectory = [paths objectAtIndex:0] ;
    return [documentsDirectory stringByAppendingPathComponent:@"Your Database"] ;
}

-(void)InsertPurchase {
        sqlite3_stmt *statement=nil;
        NSString *path = [self GetDatabasePath];
        NSString *query;

        if(sqlite3_open([path UTF8String],&db) == SQLITE_OK)
        {
            query = [NSString stringWithFormat: @"Your insert query"];

            if(sqlite3_prepare_v2(db, [query UTF8String], -1, &statement, NULL)
                        == SQLITE_OK)
            {
                sqlite3_step(statement);
            }
            sqlite3_finalize(statement);
        }
        sqlite3_close(db);
}

Это может быть ваш интерфейс

@interface Database : NSObject {
    sqlite3 *db;
}
1 голос
/ 30 ноября 2010

Если вы используете FMDB (и если честно, если вы не сумасшедший), то это действительно просто:

FMDatabase* db = [FMDatabase databaseWithPath:@"/path/to/my/database.db"];
if ([db open]) {
  [db executeUpdate:@"insert into myTable (col1, col2) values (?, ?)", @"foo", [NSNumber numberWithInt:42]];
  [db close];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...