iOS 数据库FMDN 数据库的增 删 改 查 的 的基本操作

FMDB的下载地址 (https://github.com/ccgus/fmdb) 话不多说首先将这个 库加进来,在将加进来,OK  准备工作就绪上代码。

#import "DDViewController.h"

#import "FMDB.h"


@interface DDViewController ()

{

    FMDatabase *db;

}


@end


@implementation DDViewController

/**

 *  要先做要有个位置去存放数据库  iosDocument路径,Documentios中可读写的文件夹并且要创建一个数据库的列表

 */

- (void)viewDidLoad

{

    [super viewDidLoad];

//    db = [FMDatabase new];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentDirectory = [paths objectAtIndex:0];

    //dbPath 数据库路径,在Document中。

    NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];

    //创建数据库实例 db  这里说明下:如果路径中不存在"Test.db"的文件,sqlite会自动创建"Test.db"

    db= [FMDatabase databaseWithPath:dbPath] ;

    if (![db open]) {

        NSLog(@"Could not open db.");

        return ;

    }

    //为数据库设置缓存,提高查询效率

    [db setShouldCacheStatements:YES];

// 1.创建一个表 表的名字 User

    [self creatTable];

    //2.向表中添加数据

    [self insertData:@"草帽" age:23];

    //3.查看结果

    [self ResultSet];


}

//创建一个表

-(void)creatTable

{

//创建表的时候 最好判断下自己的之前的工作有么有做好

    if (!db) {

        NSLog(@"数据库不存在");

    }

    if (![db open]) {

        [db open];

    }

    //判断是否存在这张名字为User的表 如果没有 创建

    if (![db tableExists:@"User"]) {

        //创建一个名为User的表,有两个字段分别为string类型的Nameinteger类型的 Age

        [db executeUpdate:@"CREATE TABLE User (Name text,Age integer)"];

//        [self insertData:@"草帽" age:24];


    }

}

//插入数据

-(void)insertData:(NSString *)name age:(int)age

{

    //插入数据使用OC中的类型 text对应为NSString integer对应为int的整型

    [db executeUpdate:@"INSERT INTO User (Name,Age) VALUES (?,?)",name,[NSNumber numberWithInt:age]];


}

//查询结果

-(void)ResultSet

{

    //返回数据库中第一条满足条件的结果

    NSString *aa=[db stringForQuery:@"SELECT Name FROM User WHERE Age = ?",@"20"];

    NSLog(@"aa is %@",aa);

    

    FMResultSet *rs=[db executeQuery:@"SELECT * FROM User"];

//    rs=[db executeQuery:@"SELECT * FROM User WHERE Age = ?",@"23"];

    while ([rs next]){

        NSLog(@"%@ %@",[rs stringForColumn:@"Name"],[rs stringForColumn:@"Age"]);

    }

    [rs close];


}

//修改表内容

-(void)Modify

{

    [db executeUpdate:@"UPDATE User SET Name = ? WHERE Name = ? ",@"李四",@"张三"];

}

- (void)didReceiveMemoryWarning


{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值