FMDB小demo

**FMDB小demo**在iOS应用开发中,数据库管理是一个重要的环节,特别是在处理大量数据或者需要持久化存储用户数据时。FMDB是一个基于SQLite的Objective-C数据库管理库,由Facebook开源,它为开发者提供了简单易用的接口来操作SQLite数据库。这个"FMDB小demo"是针对初学者设计的,旨在帮助他们快速理解和掌握FMDB的基本用法。我们需要在项目中引入FMDB库。可以通过CocoaPods或手动导入的方式。如果使用CocoaPods,只需在Podfile中添加`pod 'FMDB'`,然后执行`pod install`命令。手动导入则需要下载FMDB源代码,并将`FMDB`目录拖入项目中。 1. **创建数据库通常在应用启动时进行,可以使用`FMDatabaseQueue`类的`inDatabase`或`inTransaction`方法。例如: ```objc FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:@"myDatabase.db"]; [queue inDatabase:^(FMDatabase *db) { if (![db open]) { NSLog(@"Failed to open database"); } else { //如果数据库不存在,会自动创建[db executeUpdate:@"CREATE TABLE IF NOT EXISTS myTable (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)"]; } }]; ``` 2. **插入数据使用`executeUpdate:`方法,参数是SQL语句。例如: ```objc NSString *insertSQL = @"INSERT INTO myTable (name) VALUES (?)"; [queue inDatabase:^(FMDatabase *db) { [db executeUpdate:insertSQL, @"John Doe"]; }]; ``` 3. **查询数据使用`executeQuery:`方法,返回一个`FMResultSet`对象,通过迭代遍历结果集。例如: ```objc NSString *selectSQL = @"SELECT * FROM myTable"; [queue inDatabase:^(FMDatabase *db) { FMResultSet *results = [db executeQuery:selectSQL]; while ([results next]) { int id = [results intForColumnIndex:0]; NSString *name = [results stringForColumn:@"name"]; NSLog(@"ID: %@, Name: %@", @(id), name); } }]; ``` 4. **更新数据同样使用`executeUpdate:`方法,例如: ```objc NSString *updateSQL = @"UPDATE myTable SET name = ? WHERE id = ?"; [queue inDatabase:^(FMDatabase *db) { [db executeUpdate:updateSQL, @"Jane Doe", @(1)]; }]; ``` 5. **删除数据使用`executeUpdate:`方法,例如: ```objc NSString *deleteSQL = @"DELETE FROM myTable WHERE id = ?"; [queue inDatabase:^(FMDatabase *db) { [db executeUpdate:deleteSQL, @(1)]; }]; ``` 6. **事务处理** FMDB提供了事务处理功能,可以确保一系列操作的原子性。在`inTransaction`回调中,如果发生错误,可以调用`rollback`,否则调用`commit`。例如: ```objc [queue inTransaction:^(FMDatabase *db, BOOL *rollback) { if (![db executeUpdate:@"BEGIN"]) return NO; //执行一系列操作... if (/*无错误*/) { *rollback = NO; //提交事务} else { *rollback = YES; //回滚事务} }]; ``` 7. **错误处理** FMDatabase提供了`lastErrorMessage`和`hadError`属性来检查和获取操作过程中产生的错误。通过这个"FMDB小demo",你可以了解到如何使用FMDB进行基本的数据库操作,包括创建表、插入数据、查询数据、更新数据和删除数据。同时,了解如何处理事务和错误,这些都是在实际项目中必不可少的技能。继续深入学习,你可以探索更高级的特性,如预编译语句、批量操作以及更复杂的查询。
folder
FMDB小demo 预估大小:101个文件
file
1c69ceb2e61d0853a98177f0d1c874007a1817 982B
file
16e99a04ed0125682d5be46946ddfb56f811c8 163B
file
5f32c2c61bfb2f739d05235cfb4e19d2125cf4 2KB
file
4092481214d9b689477b6bae8aa42f6e433990 343B
file
37597b848a1890bb30ba0ff4102f8107cafdcb 61B
file
1c4e71201ec90b89a03815989835dd78e57763 188B
file
10b669f59766bf227be96465120c4f67617756 128B
file
14aead89165c917d2ef672e1602ca70e9ee4cf 3KB
file
57e727b6f6ea54b76ee68569cf3c14eccfc509 5KB
file
3f33c9c4d16eebd8625dddbf41eeb223330042 231B
file
2b3c46768e50e2fd783842d14c8e82711f4a82 274B
file
3b0ab36651ca648408c176f81e4b2e202efa0b 58B
file
38f3df570f130e9852e05f71cf9de425f36fc8 134B
file
1aaded01cd6af5256f5e0a38b0c9f15908306d 219B
file
6a488b2b25b2074104f570b23c7f2eac665280 132B
file
4626838474841dd0638254a9eb0f17f9f1799d 453B
file
60a2b9ab9323ca61a0fdebd3b4af46dbe4c272 100B
file
68b3e70e88e17049d4acf21b211aa155c7b178 51B
file
32d6712ca792cbfece879cec057cfdcd75a7b0 57B
file
0f14690a5b0b286ae840516eb98ac0da3a865b 305B
zip 文件大小:115.24KB