IOS 数据库
系统自带可以储存字段的字典:
NSUserDefaults *user = [[NSUserDefaults alloc] init];
存 : [user setObject:@"YES" forKey:@"token"];
取:NSString* string=[user objectForKey:@"token"];
FMdb第三方使用 使用前导入第三方框架外还需要导入libsqlite3包
//创建模型
#import <Foundation/Foundation.h> @interface LoadModel : NSObject
@property (nonatomic,retain) NSString * username;
@property (nonatomic,retain) NSString * password;
@end #import "DataCenter.h"
#import "FMDatabase.h"
@implementation DataCenter
{
FMDatabase *_dataBase;
}
+(id)shareDataCenter{
static DataCenter *center = nil;
if(center == nil){
center = [[DataCenter alloc] init];
}
return center;
}
-(id)init{
self = [super init];
if(self){
[self createDB];
}
return self;
}
-(void)createDB{
NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *dbPath = [array[] stringByAppendingPathComponent:@"CB.db"];
NSLog(@"数据库地址:%@",dbPath);
_dataBase = [[FMDatabase alloc] initWithPath:dbPath];
[_dataBase open]; //用户登录
[self createUserLoadTable]; } //创建表 表名 CBUser 列: username password
-(void)createUserLoadTable{
NSString *sql = @"create table if not exists CBUser (ID integer primary key autoincrement,username text,password text);";
BOOL b = [_dataBase executeUpdate:sql];
if(!b){
NSLog(@"登录表创建失败");
}
} //储存数据 账号 密码
-(void)insertDataWithModel:(LoadModel *)model{
NSString *sql = @"insert into CBUser (username,password) values (?,?)";
BOOL b = [_dataBase executeUpdate:sql,model.username,model.password];
if(!b){
NSLog(@"等录数据加失败");
}
}
//查找数据
-(LoadModel *)selectDataWithModel:(NSString *)username{
NSString *sql = @"select * from CBUser where username = ?";
FMResultSet *set = [_dataBase executeQuery:sql,username];
LoadModel *model = [[LoadModel alloc] init];
while (set.next) {
//取出名字和密码
model.username = [set stringForColumn:@"username"];
model.password = [set stringForColumn:@"password"];
}
return model;
}
-(BOOL)selectDataBoolWithNum:(NSString *)username{
NSString *sql = @"select * from CBUser where username = ?";
FMResultSet *set = [_dataBase executeQuery:sql,username];
while (set.next) {
return YES;
}
return NO;
}
//删除表
-(void)deleteAllData{
NSString *sql = @"delete from CBUser";
[_dataBase executeUpdate:sql];
}
//获取全部数据
-(NSArray *)selectAllData{
NSString *sql = @"select * from CBUser";
FMResultSet *set = [_dataBase executeQuery:sql];
NSMutableArray *array = [[NSMutableArray alloc] init];
while (set.next) {
LoadModel *model = [[LoadModel alloc] init];
model.username = [set stringForColumn:@"username"];
model.password = [set stringForColumn:@"password"];
[array addObject:model];
}
return array;
}
//删除某一个数据
-(void)deleteDataWithName:(NSString *)username{
NSString *sql = @"delete from CBUser where username = ?";
[_dataBase executeUpdate:sql,username];
} @end //调用
DataCenter* _center=[DataCenter new];
LoadModel* model=[[LoadModel alloc]init];
model.username=@"";
model.password=@"";
[_center insertDataWithModel:model];
IOS 数据库的更多相关文章
- iOS 数据库操作(使用FMDB)
iOS 数据库操作(使用FMDB) iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.Plausibl ...
- [iOS]数据库第三方框架FMDB详细讲解
[iOS]数据库第三方框架FMDB详细讲解 初识FMDB iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较麻烦.于是,就出现了一系列将SQLite API进行封 ...
- IOS数据库操作SQLite3使用详解(转)
iPhone中支持通过sqlite3来访问iPhone本地的数据库.具体使用方法如下1:添加开发包libsqlite3.0.dylib首先是设置项目文件,在项目中添加iPhone版的sqlite3的数 ...
- IOS数据库FMDB增、删、改、查的使用【原创】
http://blog.it985.com/13588.html IOS数据库FMDB增.删.改.查的使用[原创] FMDB是一个XCODE的中一个轻量级的数据库,用于将网络资源存储在本地.所以,FM ...
- iOS数据库操作之coredata详细操作步骤
CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...
- 分享一段ios数据库代码,包括对表的创建、升级、增删查改
分享一段ios数据库代码.包括创建.升级.增删查改. 里面的那些类不必细究,主要是数据库的代码100%可用. 数据库升级部分,使用switch,没有break,低版本一次向高版本修改. // DB.h ...
- ios数据库
1. ios数据库管理软件 ios使用的数据库是sqlite 管理软件有2种, 我只记得一种, 名字叫做 MesaSQLite 2. sqlite数据库 2.1.修改表结构 ①:更改字段类型长度 AL ...
- iOS数据库操作流程
SQLite最新的版本是3.0,使用之前应该先导入libsqlite3.0.dylib 1.导入流程 2.iOS中操作数据库的流程 打开数据库 准备SQL数据库 执行SQL数据库 语句完结 关闭数据库 ...
- iOS数据库离线缓存思路和网络层封装
一直想总结一下关于iOS的离线数据缓存的方面的问题,然后近期也简单的对AFN进行了再次封装.全部想把这两个结合起来写一下.数据展示型的页面做离线缓存能够有更好的用户体验,用户在离线环境下仍然能够获取一 ...
- iOS 数据库sqlite3.0操作--超简单--看我就够啦
iOS客户端数据存储的方式有很多,下面主要是介绍苹果自带的sqlite3.0的使用方法. 首先导入sqlite3.0的框架.然后导入头文件#import <sqlite3.h>就行了 下面 ...
随机推荐
- Neural Network学习(一) 最早的感知机:Perceptron of Rosenblatt
1. Frank Rosenblatt 首先介绍的是神经网络的开山祖师,先放张图拜拜 Frank Rosenblatt出生在纽约,父亲是医生,其1956年在Cornell大学拿到博士学位后,留校任教, ...
- React Native 实现页面动态切换
第一步. 初始化子View constructor(props){ super(props); this.state = { isChange : true, itemView : (<Text ...
- mobx源码解读1
mobx是redux的代替品,其本身就是一个很好的MVVM框架.因此花点力气研究一下它. 网上下最新的2.75 function Todo() { this.id = Math.random() mo ...
- RocketMQ与Kafka对比(18项差异)
转自:https://github.com/alibaba/RocketMQ/wiki/rmq_vs_kafka 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysq ...
- python反射原理
1.反射原理 通过字符串的形式导入模块: __import__(),可以以字符串的形式导入模块. 通过字符串的形式导入函数: 反射: 根据字符串去某个对象里面取东西,可以是字符串,函数,数字. 根据字 ...
- background-position还可以这样用
文章同步至微信公众号:http://mp.weixin.qq.com/s?__biz=MzAxMzgwNDU3Mg==&mid=401626453&idx=1&sn=6af07 ...
- Office 365 系列四 ------ 绑定公司域名
Office 365包含了企业邮箱服务(Exchange Online),我们如果要用微软的企业邮箱,那么我们必须绑定我们公司的自己域名,而不是用微软 提供的二级域名,其实微软的整个Exchange ...
- Java学习基础1
Java 平台: Java API JVM 特点:可跨平台 Java 运行机制: 编译 运行 Java文件-------> ...
- $.grep(array, callback, [invert])过滤,常用
$.grep(array, callback, [invert])过滤,常用 解释: 使用过滤函数过滤数组元素.此函数至少传递两个参数(第三个参数为true或false,对过滤函数返回值取反,个人觉得 ...
- Spark 读取HBase和SolrCloud数据
Spark1.6.2读取SolrCloud 5.5.1 //httpmime-4.4.1.jar // solr-solrj-5.5.1.jar //spark-solr-2.2.2-20161007 ...