FMDB数据库的使用

获取本地沙盒路径

NSString *str = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) .firstObject];

创建数据数据库


if([fileManager fileExistsAtPath:self.dbPath] ==YES) {FMDatabase*db = [FMDatabase databaseWithPath:self.dbPath];

if([db open]) {

//创建名字为myTable的表

NSString*sql =@"CREATE TABLE 'myTable' ('id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,'name' VARCHAR (30),'password' VARCHAR (30))";

BOOL exsit = [db executeQuery:sql];

if(!exsit) {

//创建失败

}

else{

//创建成功

}

[db close];

}

else{

//打开db失败

}

}

添加数据到数据库

FMDatabase*db = [FMDatabase databaseWithPath:self.dbPath];

if([db open]) {

NSString*nameStr =@"输入的名字";

NSString*passwordStr =@"输入的密码";

NSString*sql = [NSString stringWithFormat:@"inset into myTable (name,password) values(%@, %@)",nameStr,passwordStr];

BOOL res = [db executeUpdate:sql];

if(res) {

//插入成功

}

else{

//插入失败

}

[db close];

}

查询数据

FMDatabase*db = [FMDatabase databaseWithPath:self.dbPath];

if([db open]) {

NSString*sql =@"select * from myTable";

FMResultSet*rs = [db executeQuery:sql];

while([rs next]) {

int userId = [rs intForColumn:@"id"];

NSString*name = [rs stringForColumn:@"name"];

NSString*pass = [rs stringForColumn:@"password"];

//获取数据库信息

}

[db close];

}

清空数据库

FMDatabase*db = [FMDatabase databaseWithPath:self.dbPath];

if([db open]) {

NSString*sql =@"delete from myTable";

BOOL res =[db executeUpdate:sql];

if(res) {

//清空成功

}else{

//清空失败

}

[dbclose];

}

使用FMDatabaseQueue更新数据

FMDatabaseQueue*queue = [FMDatabaseQueuedatabaseQueueWithPath:self.dbPath];'

[queueinDatabase:^(FMDatabase*db) {

NSString*sql =@"insert into myTable (name,password) values(?,?)";

BOOL res = [db executeUpdate:sql,@"name",@"pass"];

if(res) {

//插入成功

}

else{

//插入失败

}

}];

你可能感兴趣的:(FMDB数据库的使用)