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>就行了 下面 ...
随机推荐
- rabbitMQ+php
RabbitMQ与PHP(一) 项目中使用RabbitMQ作为队列处理用户消息通知,消息由前端PHP代码产生,处理消息使用Python,这就导致代码一致性问题,调整消息定义时需要PHP和Python都 ...
- ubuntu客户端使用RDP协议连接windows服务器
如果服务器是linux或unix,可以使用ssh远程连接服务器.也有服务器是windows的,通常使用RDP协议进行连接. 1 环境 客户端:ubuntu14.04 LST 服务器:windows ...
- ModalPopup 描述
原文地址:http://ajax.asp.net/ajaxtoolkit/ModalPopup/ModalPopup.aspx ModalPopup 描述 ModalPopup 能够使页面以设计对话框 ...
- Python安装mysql-python错误提示python setup.py egg_info
做python项目,需要用到mysql,一般用python-mysql,安装时遇到错误提示如下: Command "python setup.py egg_info" failed ...
- AIX 环境下Telnet返回提示所有端口已经被占用,处理方法
IBM AIX v5.3操作系统环境Telnet返回提示所有端口已经被占用 可以按以下步骤进行检查和处理 1,以下命令检查pty0是否可用 #lsdev -Cl pty0 2,以下命令检查telnet ...
- spring注解记录
集中记录spring常见注解 供今后查阅 @ControllerAdvice: ControllerAdvice的定义为: @Target(ElementType.TYPE) @Retention(R ...
- CentOS平台部署vsftp(基于虚拟用户)
1. 安装FTP 1 2 [root@task ~]# yum install vsftpd –y [root@task ~]# chkconfig vsftpd on # 配置开机 ...
- Jenkins+Jmeter+Ant接口持续集成
修改时间 修改内容 修改人 2016.5.22 创建 刘永志 2016.6.15 完成 刘永志 前言: 为什么要用Jmeter做接口测试: 当选择这套方案的时候,很多人会问,为什么选择Jmeter做C ...
- C89和C99区别--简单总结
(1)对数组的增强 可变长数组 C99中,程序员声明数组时,数组的维数可以由任一有效的整型表达式确定,包括只在运行时才能确定其值的表达式,这类数组就叫做可变长数组,但是只有局部数组才可以是变长的.可变 ...
- R常见的几种常见统计图
1,向日葵散点图 2,热图 (颜色越深,数值越大) 3,折线图(散点图),绘制散点图集用 paris(data.frame)