iOS 使用FMDB进行数据库 *** 作

iOS 使用FMDB进行数据库 *** 作,第1张

概述iOS 使用FMDB进行数据库 *** 作

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

首先要先导入第三方类库FMdatabase。   获得存放数据库文件的沙盒地址。 
    +(Nsstring*)databasefilePath  [objc] vIEw plaincopy        {                    NSArray*filePath=NSSearchPathForDirectorIEsInDomains(NSdocumentDirectory,NSUserDomainMask,YES);          Nsstring*documentPath=[filePathobjectAtIndex:0];          NSLog(@"%@",filePath);          Nsstring*dbfilePath=[documentPathstringByAppendingPathComponent:@"db.sqlite"];          returndbfilePath;                    }      3、创建数据库的 *** 作            +(voID)creatDatabase          {          db=[[FMDatabasedatabaseWithPath:[selfdatabasefilePath]]retain];          }      4、创建表            +(voID)creattable          {          //先判断数据库是否存在,如果不存在,创建数据库          if(!db){          [selfcreatDatabase];          }          //判断数据库是否已经打开,如果没有打开,提示失败          if(![dbopen]){          NSLog(@"数据库打开失败");          return;          }                    //为数据库设置缓存,提高查询效率          [dbsetShouldCacheStatements:YES];                    //判断数据库中是否已经存在这个表,如果不存在则创建该表          if(![dbtableExists:@"people"])          {          [dbexecuteUpdate:@"CREATEtableS people(people_ID INTEGER PRIMARY KEY autoINCREAMENT,nameTEXT,age INTEGER) "];                              NSLog(@"创建完成");          }                    }      5、增加表数据            +(voID)insertPeople:(People*)aPeople          {          if(!db){          [selfcreatDatabase];          }                    if(![dbopen]){          NSLog(@"数据库打开失败");          return;          }                    [dbsetShouldCacheStatements:YES];                    if(![dbtableExists:@"people"])          {          [selfcreattable];          }          //以上 *** 作与创建表是做的判断逻辑相同          //现在表中查询有没有相同的元素,如果有,做修改 *** 作          FMResultSet*rs=[dbexecutequery:@"select* from people where people_ID = ?",[NsstringstringWithFormat:@"%d",aPeople.peopleID]];          if([rsnext])          {          NSLog(@"dddddslsdkIEn");          [dbexecuteUpdate:@"updatepeople set name = ?,age = ? where people_ID =1",aPeople.name,aPeople.age]];          }          //向数据库中插入一条数据          else{          [dbexecuteUpdate:@"INSERTINTO people (name,age) VALUES(?,?)",aPeople.age]];          }                    }      6、删除数据            +(voID)deletePeopleByID:(int)ID          {          if(!db){          [selfcreatDatabase];          }                    if(![dbopen]){          NSLog(@"数据库打开失败");          return;          }                    [dbsetShouldCacheStatements:YES];                    //判断表中是否有指定的数据, 如果没有则无删除的必要,直接return          if(![dbtableExists:@"people"])          {          return;          }          //删除 *** 作          [dbexecuteUpdate:@"deletefrom people where people_ID = ?",ID]];                    [dbclose];          }      7、修改 *** 作与增加 *** 作的步骤一致            +(NSArray*)getAllPeople          {                    if(!db){          [selfcreatDatabase];          }                    if(![dbopen]){          NSLog(@"数据库打开失败");          returnnil;          }                    [dbsetShouldCacheStatements:YES];                    if(![dbtableExists:@"people"])          {          returnnil;          }                    //定义一个可变数组,用来存放查询的结果,返回给调用者          NSMutableArray*peopleArray=[[NSMutableArrayalloc]initWithArray:0];          //定义一个结果集,存放查询的数据          FMResultSet*rs=[dbexecutequery:@"select* from people"];          //判断结果集中是否有数据,如果有则取出数据          while([rsnext]){          People*aPeople=[[Peoplealloc]init];                    aPeople.peopleID=[rsintForColumn:@"people_ID"];          aPeople.name=[RSStringForColumn:@"name"];          aPeople.age=[rsintForColumn:@"age"];          //将查询到的数据放入数组中。          [peopleArrayaddobject:aPeople];          }          return[peopleArrayautorelease];          }      8、查询            +(NSArray*)getAllPeople          {                    if(!db){          [selfcreatDatabase];          }                    if(![dbopen]){          NSLog(@"数据库打开失败");          returnnil;          }                    [dbsetShouldCacheStatements:YES];                    if(![dbtableExists:@"people"])          {          returnnil;          }                    //定义一个可变数组,用来存放查询的结果,返回给调用者          NSMutableArray*peopleArray=[[NSMutableArrayalloc]initWithArray:0];          //定义一个结果集,存放查询的数据          FMResultSet*rs=[dbexecutequery:@"select* from people"];          //判断结果集中是否有数据,如果有则取出数据          while([rsnext]){          People*aPeople=[[Peoplealloc]init];                    aPeople.peopleID=[rsintForColumn:@"people_ID"];          aPeople.name=[RSStringForColumn:@"name"];          aPeople.age=[rsintForColumn:@"age"];          //将查询到的数据放入数组中。          [peopleArrayaddobject:aPeople];          }          return[peopleArrayautorelease];          }  


以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的iOS 使用FMDB进行数据库 *** 作全部内容,希望文章能够帮你解决iOS 使用FMDB进行数据库 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1106852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存