分享

IOS的SQLite操作

 叹落花 2014-12-24

// FMDB项目下载地址:https://github.com/ccgus/fmdb

// 把项目src文件夹中的文件导入你的项目,注意:fmdb.m文件是不需要导入的,不过你可以看看,看看就明白了如何使用FMDB

// 导入了需要的文件后,还需要引入libsqlite3.dylib或者libsqlite3.0.dylib,否则会出错的,



// 创建数据库

// 文件存储路径和名称

NSString *dbPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"myDataBase.sqlite"];

// 判断数据库时候已经存在,如果存在则删除

NSFileManager *fileManager = [NSFileManager defaultManager];

if ([fileManager isExecutableFileAtPath:dbPath]) {

    [fileManager removeItemAtPath:dbPath error:Nil];

}

// 创建新的数据库

self.db = [FMDatabase databaseWithPath:dbPath];

if (![_db open]) {

    NSLog(@"Could not open db");

    return;

}



// 创建数据表

// 创建数据表

if ([self.db executeUpdate:@"CREATE TABLE PersonList (name text, age integer, sex integer, phone text, address text, photo bolb)"]) {

    NSLog(@"Create Successed");

}



// 插入数据

// 插入新的数据

if ([self.db executeUpdate:@"INSERT INTO PersonList (name, age, sex, phone, address, photo) values (?, ?, ?, ?, ?, ?)", @"Jone", [NSNumber numberWithInteger:12], [NSNumber numberWithInteger:0], @"18331000747", @"北京市 朝阳区", [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"clear_d_portrait" ofType:@"jpg"]]]) {

    NSLog(@"Insert Successed");

}



// 修改数据

// 修改数据

if ([self.db executeUpdate:@"UPDATE PersonList set age = ? WHERE name = ?", [NSNumber numberWithInteger:100], @"Jone"]) {

    NSLog(@"Updata Successed");

}



// 搜索全部数据

// 查找数据

    FMResultSet *resultSet = [self.db executeQuery:@"SELECT * FROM PersonList"];

    while ([resultSet next]) {

        NSString *nameStr = [resultSet stringForColumn:@"name"];

        NSInteger ageInt = [resultSet intForColumn:@"age"];

        NSInteger sexInt = [resultSet intForColumn:@"sex"];

        NSString *phoneStr = [resultSet stringForColumn:@"phone"];

        NSString *addressStr = [resultSet stringForColumn:@"address"];

        NSLog(@"姓名:%@ 年龄:%ld 性别:%@ 电话:%@ 地址:%@", nameStr, ageInt, (sexInt == 0 ? @"" : @""), phoneStr, addressStr);

    }

    [resultSet close];



// 搜索指定的数据

// 直接查找某一行的值

NSString *nameStr = [self.db stringForQuery:@"SELECT name FROM PersonList WHERE rowid=1"];

NSLog(@"rowid=1 name = %@", nameStr);



// 删除数据

// 删除数据

if ([self.db executeUpdate:@"DELETE FROM PersonList WHERE name = ?", @"Jone"]) {

    NSLog(@"Delete Successed");

}




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多