通过FMDataBase使用sqlite数据库

FMDatabase是个不错的开源ObjectiveC的sqlite wrapper。

Github下载地址如下:https://github.com/ccgus/fmdb

 

FMDatabase 的使用方法

其实就是sqlite的一个封装,用过sqlite都会很快运用


- (NSString*) getPath {

   NSArray* paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) ;

   return [[pathsobjectAtIndex:0]stringByAppendingPathComponent:@"MyTable"] ;

}



1.创建数据库

-(void)CreateTable;

{

dataBase = [FMDatabasedatabaseWithPath:[selfgetPath]];

    if (![dataBase open])

       NSLog(@"OPEN FAIL");

    }

        

    [dataBaseexecuteUpdate:@"CREATE TABLE IF NOT EXISTS MyTable(aa float,bb text,cc integer,dd integer,ee text)"];

    [dataBaseclose];

}




.查询数据

-(void)QueryData

{

//获取数据

   recordArray = [[NSMutableArrayalloc]init];

    

   db = [[FMDatabasealloc]initWithPath:[selfgetPath]];

    

    if ([db open]) {

       FMResultSet *rs = [dbexecuteQuery:@"SELECT * FROM MyTable"];

        while ([rs next]){

            OneRecord = [[OneRecord alloc]init];

            OneRecord.aa = [NSNumbernumberWithFloat:[rs doubleForColumn:@"aa"]];

            OneRecord.bb = [rs stringForColumn:@"bb"];

            OneRecord.cc = [NSNumbernumberWithInt:[rs intForColumn:@"cc"]];

            OneRecord.dd = [NSNumbernumberWithInt:[rs intForColumn:@"dd"]];

            OneRecord.ee = [rs stringForColumn:@"ee"];

            [recordArrayaddObject: OneRecord];

            [OneRecordrelease];

        }

        [rs close];

        [dbclose];

}


.更新数据

-(void)UpdateData

{

if ([dbopen]) {

         [dbbeginTransaction];

         [dbexecuteUpdate:@"UPDATE MyTable SET aa = ? WHERE date = ?",aa1,aa2];

         [dbexecuteUpdate:@"UPDATE MyTable SET bb = ? WHERE date = ?",bb1,bb2];

         [dbexecuteUpdate:@"UPDATE MyTable SET cc = ? WHERE date = ?",cc1,cc2];

         [dbexecuteUpdate:@"UPDATE MyTable SET dd = ? WHERE date = ?",dd1,dd2];

         [dbcommit];

         db close];

   }


}


4。插入数据

-(void)insertData

{

//插入数据库

    [dbbeginTransaction];

    [dbexecuteUpdate:@"INSERT INTO MyTable (aa,bb,cc,dd,ee) VALUES (?,?,?,?,?)",

    NSNumber numberWithFloat:aa],bb,cc,dd,ee];

    [db commit];

    [db close];


}

posted @ 2013-05-25 23:08  cqclassic  阅读(237)  评论(0编辑  收藏  举报