iOS FMDB

+(FMDatabase *)sharedInstance{

    if (!sharedInstance) {

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

        NSString *databasePath = [NSString stringWithFormat:@"%@/tmp.db", dirPaths[0]];

        sharedInstance = [FMDatabase databaseWithPath:databasePath];

        [sharedInstance open];

    }

    

    return sharedInstance;

}

创建表+增加数据:

+(void)saveMailListData:(NSMutableArray *)stuData

{

    FMDatabase* database=[DBManager sharedInstance];

    

    if ([database open])

    {

        

        NSString *sqlCreateTable =  [NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS '%@' ( '%@' TEXT, '%@' TEXT, '%@' TEXT,'%@' TEXT, '%@' TEXT, '%@' TEXT,'%@' TEXT, '%@' TEXT, '%@' TEXT,'%@' TEXT, '%@' TEXT, '%@' TEXT,'%@' TEXT, '%@' TEXT)",@"user",@"BLACKFLAG",@"TRUENAME",@"STUDENTID",@"CLASSNAME",@"IDENTITY",@"SMALLLOGO",@"STUNAME",@"STATUS",@"USERCLASSID",@"PHONESETTING",@"USERID",@"USERNAME",@"IDENTDESC",@"CLASSID"];

        BOOL res = [database executeUpdate:sqlCreateTable];

       for (int i = 0; i<stuData.count; i++) {

        NSDictionary * stuDic = [stuData objectAtIndex:i];

        NSMutableDictionary * stuMutableDic = [NSMutableDictionary dictionaryWithDictionary:stuDic];

        NSString * studentId =[stuMutableDic objectForKey:@"STUDENTID"];

        NSString * stuName = [stuMutableDic objectForKey:@"STUNAME"];

        NSString * trueName = [stuMutableDic objectForKey:@"TRUENAME"];

        studentId = [[trubkString shareInstance]trunk:studentId];

        stuName   = [[trubkString shareInstance]trunk:stuName];

        trueName  = [[trubkString shareInstance]trunk:trueName];

        [stuMutableDic setObject:stuName forKey:@"STUNAME"];

        [stuMutableDic setObject:studentId forKey:@"STUDENTID"];

        [stuMutableDic setObject:trueName forKey:@"TRUENAME"];

        stuDic = stuMutableDic;

           NSString * sql = [NSString stringWithFormat:

                             @"SELECT * FROM %@ ",@"user"];

           FMResultSet * rs = [database executeQuery:sql];

           NSMutableArray * mutabrs = [NSMutableArray array];

           while ([rs next]) {

               [mutabrs addObject:[rs stringForColumn:@"USERID"]];

           }

           if ([mutabrs containsObject:[NSString stringWithFormat:@"%@",[stuDic objectForKey:@"USERID"]]])

           {

               

           }

           else

           {

               NSString *insertSql1= [NSString stringWithFormat:

                                      @"INSERT INTO '%@' ('%@', '%@', '%@','%@', '%@', '%@','%@', '%@', '%@','%@', '%@', '%@','%@', '%@') VALUES ('%@', '%@', '%@','%@', '%@', '%@','%@', '%@', '%@','%@', '%@', '%@','%@', '%@')",

                                      @"user",@"BLACKFLAG",@"TRUENAME",@"STUDENTID",@"CLASSNAME",@"IDENTITY",@"SMALLLOGO",@"STUNAME",@"STATUS",@"USERCLASSID",@"PHONESETTING",@"USERID",@"USERNAME",@"IDENTDESC",@"CLASSID",[stuDic objectForKey:@"BLACKFLAG"],[stuDic objectForKey:@"TRUENAME"],[stuDic objectForKey:@"STUDENTID"],[stuDic objectForKey:@"CLASSNAME"],[stuDic objectForKey:@"IDENTITY"],[stuDic objectForKey:@"SMALLLOGO"],[stuDic objectForKey:@"STUNAME"],[stuDic objectForKey:@"STATUS"],[stuDic objectForKey:@"USERCLASSID"],[stuDic objectForKey:@"PHONESETTING"],[stuDic objectForKey:@"USERID"],[stuDic objectForKey:@"USERNAME"],[stuDic objectForKey:@"IDENTDESC"],[stuDic objectForKey:@"CLASSID"]];

               BOOL res1 = [database executeUpdate:insertSql1];

               

               if (!res1) {

                   NSLog(@"error when insert db table");

               } else {

                   NSLog(@"success to insert db table");

               }

           }


    }

    }

       [database close];

}


获取+查询:

+(NSDictionary *)getMailListData:(NSString *)userId

{

      FMDatabase* database=[DBManager sharedInstance];

    if ([database open]) {

    NSString * sql = [NSString stringWithFormat:

                      @"SELECT * FROM %@ WHERE USERID = %@ ",@"user",userId];

    FMResultSet * rs = [database executeQuery:sql];

    NSMutableDictionary * mailMutableDic = [[NSMutableDictionary alloc]init];

    while ([rs next]) {

    

        [mailMutableDic setObject: [rs stringForColumn:@"SMALLLOGO"] forKey:@"SMALLLOGO"];

        [mailMutableDic setObject: [rs stringForColumn:@"BLACKFLAG"] forKey:@"BLACKFLAG"];

        [mailMutableDic setObject: [rs stringForColumn:@"TRUENAME"] forKey:@"TRUENAME"];

        [mailMutableDic setObject: [rs stringForColumn:@"STUDENTID"] forKey:@"STUDENTID"];

        [mailMutableDic setObject: [rs stringForColumn:@"CLASSNAME"] forKey:@"CLASSNAME"];

        [mailMutableDic setObject: [rs stringForColumn:@"IDENTITY"] forKey:@"IDENTITY"];

        [mailMutableDic setObject: [rs stringForColumn:@"STUNAME"] forKey:@"STUNAME"];

        [mailMutableDic setObject: [rs stringForColumn:@"STATUS"] forKey:@"STATUS"];

        [mailMutableDic setObject: [rs stringForColumn:@"USERCLASSID"] forKey:@"USERCLASSID"];

        [mailMutableDic setObject: [rs stringForColumn:@"PHONESETTING"] forKey:@"PHONESETTING"];

        [mailMutableDic setObject: [rs stringForColumn:@"USERID"] forKey:@"USERID"];

        [mailMutableDic setObject: [rs stringForColumn:@"USERNAME"] forKey:@"USERNAME"];

        [mailMutableDic setObject: [rs stringForColumn:@"IDENTDESC"] forKey:@"IDENTDESC"];

        [mailMutableDic setObject: [rs stringForColumn:@"CLASSID"] forKey:@"CLASSID"];

    }

        [database close];

        return mailMutableDic;

    }

      return nil;

}


修改:

  FMDatabase* database=[DBManager sharedInstance];

                if ([database open]) {

                    NSString * sql = [NSString stringWithFormat:

                                      @"UPDATE %@ SET BLACKFLAG = %@ WHERE USERID = %@",@"user",@"2",otherID];

                 [database executeUpdate:sql];

                }

                [database close];


扩展:

1.实例化FMDatabase
//paths: ios下Document路径,Document为ios中可读写的文件夹
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];

//dbPath: 数据库路径,在Document中。
NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];

//创建数据库实例 db  这里说明下:如果路径中不存在"Test.db"的文件,sqlite会自动创建"Test.db"
FMDatabase *db= [FMDatabase databaseWithPath:dbPath] ;
if (![db open]) {
NSLog(@"Could not open db.");
return ;
}


2.创建表
//创建一个名为User的表,有两个字段分别为string类型的Name,integer类型的 Age
[db executeUpdate:@"CREATE TABLE User (Name text,Age integer)"];


3.插入
//插入数据使用OC中的类型 text对应为NSString integer对应为NSNumber的整形
[db executeUpdate:@"INSERT INTO User (Name,Age) VALUES (?,?)",@"张三",[NSNumber numberWithInt:20]];


4.更新
//更新数据 将“张三”更改为“李四”
[db executeUpdate:@"UPDATE User SET Name = ? WHERE Name = ? ",@"李四",@"张三"];


5.删除
//删除数据
[db executeUpdate:@"DELETE FROM User WHERE Name = ?",@"张三"];


6.查询
//返回数据库中第一条满足条件的结果
NSString *aa=[db stringForQuery:@"SELECT Name FROM User WHERE Age = ?",@"20"];

//返回全部查询结果
FMResultSet *rs=[db executeQuery:@"SELECT * FROM User"];

rs=[db executeQuery:@"SELECT * FROM User WHERE Age = ?",@"20"];

while ([rs next]){
NSLog(@"%@ %@",[rs stringForColumn:@"Name"],[rs stringForColumn:@"Age"]);
}

[rs close];

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值