iOS 三方库fmdb 的使用

使用fmdb 做本地数据的存储非常方便,

1. github 上搜索fmdb 下载压缩包 导入到工程中 (如果你的mac 有cocoapod 也可以直接通过cocoapod 添加)

2. 以下代码是通过fmdb 多数据库的各种操作,其中有几点需要注意:(1). 程序中 Ceasar 是表名   (2). 修改数据库数据  提前准备字符串时 值 要用单引号括起来 否则会出错 : NSString *temp = [NSString stringWithFormat:@"UPDATE %@ SET %@ = ‘%@‘ WHERE %@ = ‘%@‘",@"Ceasar",@"Name",@"hao",@"Age",[NSNumber numberWithInt:100]];

    NSString *path = @"/Users/shijieli/Desktop/test.sqlite";

FMDatabase *db = [FMDatabase databaseWithPath:path];

if ([db open]) {//创建表

BOOL res = [db executeUpdate:@"CREATE TABLE IF NOT EXISTS Ceasar (Name text, Age integer, Photo blob)"];

if (!res) {

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

} else {

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

}

[db close];

}

if ([db open]) {//添加数据

BOOL res = [db executeUpdate:@"INSERT INTO Ceasar (Name, Age, Photo) VALUES (?, ?, ?)",@"Gaius",[NSNumber numberWithInteger:100],[NSData dataWithContentsOfFile:@"/Users/shijieli/Desktop/testPicture.jpg"]];

if (res) {

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

} else {

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

}

[db close];

}

if ([db open]) {//查询

FMResultSet * rs = [db executeQuery:@"SELECT * FROM Ceasar"];

while ([rs next]) {

NSString * name = [rs stringForColumn:@"Name"];

int age = [rs intForColumn:@"Age"];

NSData *photo = [rs dataForColumn:@"Photo"];

NSLog(@" name = %@, age = %d",  name, age);

BOOL isCreate = [[NSFileManager defaultManager] createFileAtPath:@"/Users/shijieli/Desktop/car.jpg" contents:photo attributes:nil];

if (!isCreate) {

NSLog(@" ****** create failure");

}

}

[db close];

}

//        if ([db open]) {//修改数据

//            NSString *temp = [NSString stringWithFormat:@"UPDATE %@ SET %@ = ‘%@‘ WHERE %@ = ‘%@‘",@"Ceasar",@"Name",@"hao",@"Age",[NSNumber numberWithInt:100]];

//            BOOL res = [db executeUpdate:temp];

//            if (!res) {

//                NSLog(@"error when update db table");

//            } else {

//                NSLog(@"success to update db table");

//            }

//

//            [db close];

//

//        }

//        if ([db open]) {//清除表

//            BOOL res = [db executeUpdate:@"DELETE FROM Ceasar"];

//            if (!res) {

//                NSLog(@"delete failure");

//            }

//        }

if ([db open]) {//删除数据

NSString *deleteSql = [NSString stringWithFormat:

@"delete from %@ where %@ = ‘%@‘",

@"Ceasar", @"Name", @"hao"];

BOOL res = [db executeUpdate:deleteSql];

if (!res) {

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

} else {

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

}

[db close];

}

}

时间: 2024-08-16 06:52:15

iOS 三方库fmdb 的使用的相关文章

iOS:iOS开发非常全的三方库、插件、大牛博客等等

iOS开发非常全的三方库.插件.大牛博客等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自github:https://github.com/Tim9Liu9/TimLiu-iOS UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableView或

iOS开发常用三方库、插件、知名博客等等

TimLiu-iOS   Swift版本点击这里 欢迎加入QQ交流群: 594119878 介绍 这是一个用于iOS开发的各种开源库.开源资料.开源技术等等的索引库. github排名 https://github.com/trending,github搜索:https://github.com/search 使用方法 根据目录关键字搜索,记得包含@,以保证搜索目录关键字的唯一性. 问题反馈 期待大家和我们一起共同维护,同时也期望大家随时能提出宝贵的意见(直接提交issues即可).请广大网友只

iOS开发 非常全的三方库、插件、大牛博客等等

UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看"使用方法". (国人写) XHRefreshControl- XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHo

iOS 第三方库、插件、知名博客总结

用到的组件1.通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 Reachability监测网络状态 DateTools友好化时间 MBProgressHUD一款提示框第三方库 MWPhotoBrowser一款简单的 iOS 照片浏览控件 CTAssetsPickerController一个选择器组件, 支持从用户的相片库选择多张照片和视频. QB

iOS开发——装逼技术精选&全面了解 iOS 静态库开发

全面了解 iOS 静态库开发 简介 在企业开发中,一些核心技术或者常用框架,出于安全性和稳定性的考虑,不想被外界知道,所以会把核心代码打包成静态库,只暴露头文件给程序员使用(比如:友盟.百度地图等第三方的sdk) 静态库和动态库的存在形式 静态库:.a 和 .framework 动态库:.dylib 和 .framework 静态库和动态库的区别 静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统

经常使用的iOS SDK库和第三方库

iOS SDK库 1.Foundation Cocoa不是一种编程语言(它可以运行多种编程语言),它也不是一个开发工具(通过命令行我们仍然可以开发Cocoa程序),它是创建Mac OS X和IOS程序的原生面向对象API,为这两者应用提供了编程环境. 我们通常称为“Cocoa框架”,事实上Cocoa本身是一个框架的集合,它包含了众多子框架,其中最重要的要数“Foundation”和“UIKit”.前者是框架的基础,和界面无关,其中包含了大量常用的API:后者是基础的UI类库,以后我们在IOS开发

does not contain bitcode ShardSDK等三方库

今天升级了XCode到7.0   重新编译项目出现了下面这些错误提示, ShardSDK/ShareSDK.framework/ShareSDK' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target

iOS第三方库汇总[转载]

iOS第三方库汇总[转载] 字数2179 阅读334 评论0 喜欢29 简介 此文用于总结,本人使用过或者收藏过的Github第三方类库,以便日后查阅,也便他人借鉴. 资料整理中不定期更新... 开源项目 CodeHub browse and maintain your GitHub repositories on any iOS device! Open-Source iOS Apps 开源iOS apps列表 APP相关 iVersion 提示版本更新 BonMot 字体相关的库,设置字体样

iOS开发 数据库FMDB

iOS开发  数据库FMDB 1.简介 需求作用: 如果需要保存大量的结构较为复杂的数据时候, 使用数据库, 例如交规考试项目 常用的数据库: (1)Microsoft SQL Server 2000/2008, 中小企业使用较多 (2)Oracle 比较复杂, 大企业使用较多 (3)Mysql数据库, 网站使用较多 (4)sqlite: 本地数据库, 访问数据足够快, 直接访问文件 足够简单, 功能相对其他数据库软件不是特别齐全, 足够用了  足够小, 系统不超过1M, 适合在移动端上使用 2