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>就行了 下面 ...
随机推荐
- git不是内部命令和可执行程序解决方法
1.从Git官网下载windows版本的git:http://git-scm.com/downloads 2.一般使用默认设置即可:一路next,git安装完毕! 3.但是如果这时你打开windows ...
- python基础知识8——模块1——自定义模块和第三方开源模块
模块的认识 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需 ...
- jsp与数据库的连接
经过一段时间的学习与上网查资料,我已经成功的用java语言连接上了数据库, 本以为同理jsp跟数据库的连接肯定水到渠成的,但是在经过尝试很多次后我发现现实永远是骨感的,最终结果是花了一个下午的时间去建 ...
- 今天使用bootstrap中的tagsinput控件,碰到个小问题
我直接使用时,后台一直报Uncaught Can't add objects when itemValue option is not set错误, 代码如下: <div> <inp ...
- Loadrunner ---集合点设置
测试场景,实现用户登录的200并发: 1.录制登录退出脚本,且登录退出放aciton中 2.在登录的地方设置集合点 设置集合点有如下4中方式: 1)在要插入集合点的地方,右击鼠标按如下图操作:
- Java中Map集合的四种访问方式(转)
最近学习Java发现集合类型真是很多,访问方式也很灵活,在网上找的方法,先放下备用 public static void main(String[] args) { Map<String, St ...
- 我的VPN推荐经历
先说说我为什么会走上VPN推荐之路的. 忘记了什么原因需要上某一国外的网站,但是这个网站在国内被禁止访问,于是我想到了VPN,我在网上搜索VPN,找到了几个VPN推荐的博客,然后我根据博客的推荐到了某 ...
- MongoDB Replica Set 选举过程
什么是选举? 选举是副本集选择某个成员成为primary的过程.primary是一个副本集中唯一能够接收写操作的成员. 下面的事件能够引发一次选举: 第一次初始化一个副本集 Primary失效.rep ...
- Android剪贴板操作----ClipboardManager
andrid developers java.lang.Object ---android.text.ClipboardManager ------android.context.ClipboardM ...
- Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 64 bytes) in D
Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 64 bytes) in D 从数据库 ...