码迷,mamicode.com
首页 > 数据库 > 详细

FMDatabase 使用

时间:2015-09-02 21:59:15      阅读:646      评论:0      收藏:0      [点我收藏+]

标签:

 

    //iPhone应用安全机制

    //沙盒机制:

    //  每个应用所有的数据都放在一个文件夹内, 这个文件夹称为沙盒目录, 这个应用不能访问除了它自己沙盒目录外的其他文件

 

    //沙盒目录  NSHomeDirectory()

    //  Documents   存储自己的文件

    //  Library     系统存储应用的文件

    //  tmp         临时文件

NSHomeDirectory() 获取沙盒目录

 

FMDatabase

注:导入 libsqlite3.dylib

技术分享
    //<0>FMDB库的配置
    
    
    //<1>创建打开数据库
    [self createAndOpenDatabase];
    -(void)createAndOpenDatabase
{

    //  sandbox
    NSString *path = [NSString stringWithFormat:@"%@/Documents/stu.rdb",NSHomeDirectory()];//沙盒
    NSLog(@"path = %@",path);
    //初始化数据
    _database = [[FMDatabase alloc] initWithPath:path];
    //open一定需要执行, 如果没有文件创建文件
    if(!_database.open)
    {
        NSLog(@"打开失败");
        return;
    }
    NSLog(@"打开成功");
}

    //<2>创建表
    [self testCreateTabel];
-(void)testCreateTabel
{
    NSString *sql = @"create table if not exists stuInfo(sid varchar(12),username varchar(12),password varchar(12),age integer)";
    
    //注意: select查询语句使用executeQuery
    //      其他语句使用executeUpdate
    
    BOOL b = [_database executeUpdate:sql];
    b?NSLog(@"创建成功"):NSLog(@"创建失败");
    
    
}

    //<3>插入数据
    //[self testInsertData];
-(void)testInsertData
{
    NSString *sid = @"13121113";
    NSString *username = @"zhangsan";
    NSString *password = @"111";
    int age = 23;
    
    NSString *sql = @"insert into stuInfo(sid,username,password,age) values(?,?,?,?)";
    //注意: 任何数据转化为字符串传入
    BOOL b = [_database executeUpdate:sql,sid,username,password,@(age).stringValue];
    b?NSLog(@"插入成功"):NSLog(@"插入失败");
    
}
    
    //<4>查询数据
    //[self testQueryData];
-(void)testQueryData
{
    NSString *sql = @"select * from stuInfo";
    FMResultSet *result = [_database executeQuery:sql];
    //每次使用next获取一行, 没有返回nil
    while ([result next]) {
        //每次获取一条记录的各个字段
        NSLog(@"%@ %@ %@ %d",
              [result stringForColumn:@"sid"],
              [result stringForColumn:@"username"],
              [result stringForColumn:@"password"],
              [result intForColumn:@"age"]);
    }
    
}
    //<5>更新数据
    //[self updateData];
-(void)updateData
{
    NSString *username = @"zhangsan";
    NSString *newPassword = @"666";
    NSString *sql = @"update stuInfo set password=? where username=?";
    //注意: 任何数据转化为字符串传入
    BOOL b = [_database executeUpdate:sql,newPassword,username];
    b?NSLog(@"更新成功"):NSLog(@"更新失败");
};
    
    //<6>删除数据
-(void)deleteData
{
    NSString *username = @"zhangsan";
    NSString *sql = @"delete from stuInfo where username=?";
    //注意: 任何数据转化为字符串传入
    BOOL b = [_database executeUpdate:sql,username];
    b?NSLog(@"删除成功"):NSLog(@"删除失败");
}
View Code

 

FMDatabase 使用

标签:

原文地址:http://www.cnblogs.com/caolongs/p/4779385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!