iOS-FMDB

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

#import <Foundation/Foundation.h>
#import <FMDatabase.h>
#import "MyModel.h"@interface FMDBManager : NSObject
{FMDatabase *_dataBase;
}+(instancetype)shareInstance;- (BOOL)insert:(MyModel *)model;- (BOOL)deleteWithId:(NSString *)Id;- (BOOL)update:(NSString *)Id key:(NSString *)key value:(NSString *)value;- (NSMutableArray *)selectLimit:(NSInteger)index number:(NSInteger)number;- (NSMutableArray *)selectAll;- (NSUInteger)count;- (BOOL)isInclude:(NSString *)Id;@end

 

#import "FMDBManager.h"@implementation FMDBManager+ (instancetype)shareInstance
{static FMDBManager *manager;static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{manager = [[FMDBManager alloc] init];});return manager;
}- (instancetype)init
{if (self = [super init]) {NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/dataBase.db"];_dataBase = [[FMDatabase alloc] initWithPath:path];[_dataBase open];NSString *sql = @"create table if not exists personTable(id integer primary key autoincrement,ID varchar(256), name varchar(256),age varchar(256),height varchar(256),sex varchar(256))";if ([_dataBase executeUpdate:sql]) {NSLog(@"建表成功");} else {NSLog(@"建表失败");};}return self;
}- (BOOL)insert:(MyModel *)model
{NSString *sql = @"insert into personTable(ID, name, age, height, sex)values(?,?,?,?,?)";if ([_dataBase executeUpdate:sql,model.ID, model.name, model.age, model.height, model.sex]) {return YES;} else {return NO;}
}- (BOOL)deleteWithId:(NSString *)Id
{NSString *sql = @"delete from personTable where ID = ?";if ([_dataBase executeUpdate:sql,Id]) {return YES;} else {return NO;}
}
- (BOOL)update:(NSString *)Id key:(NSString *)key value:(NSString *)value
{NSString *sql = [NSString stringWithFormat:@"update personTable set %@ = ? where ID = ?",key];if ([_dataBase executeUpdate:sql,value,Id]) {return YES;} else {return NO;}
}
- (NSMutableArray *)selectLimit:(NSInteger)index number:(NSInteger)number
{NSString *sql = [NSString stringWithFormat:@"select *from personTable limit %ld, %ld",(long)index, (long)number];FMResultSet *s = [_dataBase executeQuery:sql];NSMutableArray *array = [[NSMutableArray alloc]init];while ([s next]) {MyModel *model = [[MyModel alloc] init];model.ID = [s stringForColumn:@"ID"];model.name = [s stringForColumn:@"name"];model.age = [s stringForColumn:@"age"];model.height = [s stringForColumn:@"height"];model.sex = [s stringForColumn:@"sex"];[array addObject:model];}return array;
}- (NSMutableArray *)selectAll
{FMResultSet *s = [_dataBase executeQuery:@"select *from personTable"];NSMutableArray *array = [[NSMutableArray alloc]init];while ([s next]) {MyModel *model = [[MyModel alloc] init];model.ID = [s stringForColumn:@"ID"];model.name = [s stringForColumn:@"name"];model.age = [s stringForColumn:@"age"];model.height = [s stringForColumn:@"height"];model.sex = [s stringForColumn:@"sex"];[array addObject:model];}return array;
}
- (NSUInteger)count
{FMResultSet *s = [_dataBase executeQuery:@"select count(*) from personTable"];NSUInteger c = 0;while ([s next]) {c = [s intForColumnIndex:0];}return c;
}
- (BOOL)isInclude:(NSString *)Id
{NSString *sql = @"select *from personTable where ID = ?";FMResultSet *set = [_dataBase executeQuery:sql,Id];while ([set next]) {return YES;}return NO;
}@end

 

转载于:https://my.oschina.net/gwlCode/blog/1591526

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/391791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决朋友圈压缩_朋友中最有趣的朋友[已解决]

解决朋友圈压缩We live in uncertain times.我们生活在不确定的时代。 We don’t know when we’re going back to school or the office. We don’t know when we’ll be able to sit inside at a restaurant. We don’t even know when we’ll be able to mosh at a Korn co…

MapServer应用开发平台示例

MapServer为当前开源WebGIS的应用代表&#xff0c;在西方社会应用面极为广泛&#xff0c;现介绍几个基于它的开源应用平台。 1.GeoMOOSE GeoMoose is a Web Client Javascript Framework for displaying distributed cartographic data. Among its many strengths, it can hand…

pymc3 贝叶斯线性回归_使用PyMC3进行贝叶斯媒体混合建模,带来乐趣和收益

pymc3 贝叶斯线性回归Michael Johns, Zhenyu Wang, Bruno Dupont, and Luca Fiaschi迈克尔约翰斯&#xff0c;王振宇&#xff0c;布鲁诺杜邦和卢卡菲亚斯基 “If you can’t measure it, you can’t manage it, or fix it”“如果无法衡量&#xff0c;就无法管理或修复它” –…

ols线性回归_普通最小二乘[OLS]方法使用于机器学习的简单线性回归变得容易

ols线性回归Hello Everyone!大家好&#xff01; I am super excited to be writing another article after a long time since my previous article was published.自从上一篇文章发表很长时间以来&#xff0c;我很高兴能写另一篇文章。 A Simple Linear Regression [SLR] is…

Amazon Personalize:帮助释放精益数字业务的高级推荐解决方案的功能

By Gerd Wittchen盖德维琴 推荐解决方案的动机 (Motivation for recommendation solutions) Rapid changes in customer behaviour requires businesses to adapt at an ever increasing pace. The recent changes to our work and personal life has forced entire nations t…

Linux 链接文件讲解

链接文件是Linux文件系统的一个优势。如需要在系统上维护同一文件的两份或者多份副本&#xff0c;除了保存多份单独的物理文件之外&#xff0c;可以采用保留一份物理文件副本和多个虚拟副本的方式&#xff0c;这种虚拟的副本就成为链接。链接是目录中指向文件真实位置的占位符。…

系统滚动条实现的NUD控件Unusable版

昨天研究了一下系统滚动条&#xff0c;准备使用它来实现一个NumericUpDown控件&#xff0c;因为它可以带来最正宗的微调按钮外观&#xff0c;并说了一下可以使用viewport里的onScroll事件来获取系统滚动条的上下点击动作。 同时昨天还说了onScroll事件的一个问题是&#xf…

[习题].FindControl()方法 与 PlaceHolder控件 #2(动态加入「子控件」的事件)

这是我的文章备份&#xff0c;有空请到我的网站走走&#xff0c; http://www.dotblogs.com.tw/mis2000lab/ 才能掌握我提供的第一手信息&#xff0c;谢谢您。 http://www.dotblogs.com.tw/mis2000lab/archive/2011/07/26/placeholder_findcontrol_eventhandler.aspx [习题].Fi…

西雅图治安_数据科学家对西雅图住宿业务的分析

西雅图治安介绍 (Introduction) Airbnb provides an online platform for hosts to accommodate guests with short-term lodging. Guests can search for lodging using filters such as lodging type, dates, location, and price, and can search for specific types of hom…

【贪心】买卖股票的最佳时机含手续费

/** 贪心&#xff1a;每次选取更低的价格买入&#xff0c;遇到高于买入的价格就出售(此时不一定是最大收益)。* 使用buy表示买入股票的价格和手续费的和。遍历数组&#xff0c;如果后面的股票价格加上手续费* 小于buy&#xff0c;说明有更低的买入价格更新buy。如…

排序算法Java代码实现(二)—— 冒泡排序

本篇内容&#xff1a; 冒泡排序冒泡排序 算法思想&#xff1a; 冒泡排序的原理是&#xff1a;从左到右&#xff0c;相邻元素进行比较。 每次比较一轮&#xff0c;就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。 代码实现&#xff1a; /*** */ packag…

创意产品 分析_使用联合分析来发展创意

创意产品 分析Advertising finds itself in a tenacious spot these days serving two masters: creativity and data.如今&#xff0c;广告业处于一个顽强的位置&#xff0c;服务于两个大师&#xff1a;创造力和数据。 On the one hand, it values creativity; and it’s not…

vue.js 安装

写 一个小小的安装步骤 踩坑过来的 点击.然后安装cnpm.再接着使用文章说明继续安装 # 全局安装 vue-cli $ cnpm install --global vue-cli # 创建一个基于 webpack 模板的新项目 $ vue init webpack my-project这时候一路空格 选项.当遇到第一个让你敲 Y/N 的时候 选择Y …

pandas之表格样式

在juoyter notebook中直接通过df输出DataFrame时&#xff0c;显示的样式为表格样式&#xff0c;通过sytle可对表格的样式做一些定制&#xff0c;类似excel的条件格式。 df pd.DataFrame(np.random.rand(5,4),columns[A,B,C,D]) s df.style print(s,type(s)) #<pandas.io.f…

多层感知机 深度神经网络_使用深度神经网络和合同感知损失的能源产量预测...

多层感知机 深度神经网络in collaboration with Hsu Chung Chuan, Lin Min Htoo, and Quah Jia Yong.与许忠传&#xff0c;林敏涛和华佳勇合作。 1. Introduction1.简介 Since the early 1990s, several countries, mostly in the European Union and North America, had sta…

蓝牙调试工具如何使用_使用此有价值的工具改进您的蓝牙项目:第2部分!

蓝牙调试工具如何使用This post is originally from www.jaredwolff.com. 这篇文章最初来自www.jaredwolff.com。 This is Part 2 of configuring your own Bluetooth Low Energy Service using a Nordic NRF52 series processor. If you haven’t seen Part 1 go back and ch…

使用Matplotlib Numpy Pandas构想泰坦尼克号高潮

Did you know, a novel predicted the Titanic sinking 14 years previously to the actual disaster???您知道吗&#xff0c;一本小说预言泰坦尼克号在14年前沉没到了真正的灾难中&#xff1f;&#xff1f;&#xff1f; In 1898 (14 years before the Titanic sank), Amer…

pca数学推导_PCA背后的统计和数学概念

pca数学推导As I promised in the previous article, Principal Component Analysis (PCA) with Scikit-learn, today, I’ll discuss the mathematics behind the principal component analysis by manually executing the algorithm using the powerful numpy and pandas lib…

红黑树分析

红黑树的性质&#xff1a; 性质1&#xff1a;每个节点要么是黑色&#xff0c;要么是红色。 性质2&#xff1a;根节点是黑色。性质3&#xff1a;每个叶子节点&#xff08;NIL&#xff09;是黑色。性质4&#xff1a;每个红色节点的两个子节点一定都是黑色。不能有两个红色节点相…

overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)

上一节我们在 host1 中运行了容器 bbox1&#xff0c;今天将详细讨论 overlay 网络跨主机通信的原理。 在 host2 中运行容器 bbox2&#xff1a; bbox2 IP 为 10.0.0.3&#xff0c;可以直接 ping bbox1&#xff1a; 可见 overlay 网络中的容器可以直接通信&#xff0c;同时 docke…