oc中sqlite3增删改查

语句:

sqlite> create table user(id integer,username text,password text);
sqlite> insert into user values(1,'king','king');
sqlite> select * from user;
sqlite> update user set username='kong',password='kong' where id=1;
sqlite> delete from user where username='kong';

 

获取沙盒目录:

- (NSString *)dataFilePath {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(
                                                         NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *fullpath=[documentsDirectory stringByAppendingPathComponent:combookname];
    //NSLog(fullpath);
    return fullpath;
    
}

//存入方法

-(void)saveToSqlite{
    sqlite3 *database;
    if (sqlite3_open([[self dataFilePath]UTF8String],&database)!=SQLITE_OK) {
        sqlite3_close(database);
        NSAssert(0, @"Failed to open database");
    }
    //NSLog([self dataFilePath]);
    NSString *createSql=@"create table if not exists TableName(row INTEGER Primary key,column1 text,column2 integer);";
    char *errorMsg;
    if (sqlite3_exec(database, [createSql UTF8String], NULL, NULL, &errorMsg)!=SQLITE_OK) {
        sqlite3_close(database);
        NSAssert(0, @"Error creating table:%s",errorMsg);
    } 
    sqlite3_close(database);
    }

 

//从sqlite获取数据
-(void)getcombookfromsqlite{
    NSMutableArray *list=[[NSMutableArray alloc]init];
    sqlite3 *database;
    if (sqlite3_open([[self dataFilePath]UTF8String],&database)!=SQLITE_OK) {
        sqlite3_close(database);
        NSAssert(0, @"Failed to open database");
    }
    NSString *query=@"select column1,column2,column3 from Tablename ";
    sqlite3_stmt *statement;
    if (sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil)==SQLITE_OK) {
        while (sqlite3_step(statement) == SQLITE_ROW) {
            char *column1=(char *)sqlite3_column_text(statement, 0);
            char *column2=(char *)sqlite3_column_text(statement, 1);
            char *column3=(char *)sqlite3_column_text(statement, 2);
 
//可填充数据模型
        }
        sqlite3_finalize(statement);
    }
}

..其他类似以上

posted @ 2013-05-31 09:25  cqclassic  阅读(324)  评论(0编辑  收藏  举报