/*这是关于IOS中FMDB第三方库的操作流程,所以很有必要好好学习下,毕竟一个APP
无非就是逻辑,数据,界面三中,所以数据库的掌握也是很有必要的!
接下来我们就来好好学习下这个的使用方法!
这里本人直接写个demo来进行测试!
//首先是要导入这个第三方的文件,下载地址:https://github.com/ccgus/fmdb
同时需要添加 libsqlite3.0dylib至工程
接下来就可以开始啦!
分别做打开,创建表,查询,插入,修改的操作
static FMDatabase *db;
static NSString *sqlname;
+(BOOL)openDataBase:(NSString *)name
{
//首先打开Document的文件夹
NSArray *documentPath = NSSearchPathForDirectoriesInDomians(NSDocumentDirectory,
NSUserDomainMask,
YES);
NSString path = [[documentPath objectAtIndex:0] stringByAppendingPathComponent:name];
//判断文件是否存在
if(![[NSFileManager defaultManager] fileExistsAtPath:path])
{
[[NSFileManager defaultManager] creatFileAtPath:path content:nil attributes:nil];
}
db = [FMDataBase databaseWithPath:path];
sqlname = name;
BOOL res = [db open];
if(res == NO)
{
NSLog(@"open error");
return NO;
}
return YES;
}
+(BOOL)creatTable:(NSString *)sql
{
if(!db){
[self openDataBase:sqlname];
}
BOOL res = [db open];
if(res == NO)
{
NSLog(@"open error");
return NO;
}
res = [db executeUpdate:sql];
if(res == NO)
{
NSLog(@"creat error");
[db close];
return NO;
}
if([db hasError]){
[db close];
return NO;
}
else
{
return YES;
}
return YES;
}
+(BOOL)update:(NSString *)sql
{
if(!db)
{
[self openDataBase:sqlname];
}
BOOL res = [db open];
if(res == NO)
{
NSLog(@"open error");
return NO;
}
res = [db executeUpdate:sql];
if(res == NO)
{
NSLog(@"update error");
[db close];
return NO;
}
if([db hasError])
{
reutrn NO;
}
return YES;
}
+(FMResultSet*)select:(NSString *)sql
{
if(!db)
{
[self openDataBase:sqlname];
}
BOOL res = [db open];
if(res == NO)
{
NSLog(@"open error");
return NO;
}
FMResultSet *set;
set = = [db executeQuery:sql];
if([db hasError])
{
NSLor(@"query error");
[db close];
return nil;
}
return set;
}
+(void)closeDataBase{
[db close];
}
//然后我们可以通过这个类来实现我们的相关操作
在使用的过程中首先我们要创建数据库
Fqlite openDataBase:[NSString stringWithFormat:@"%@",userId];
然后就是创建表
NSString *sql = @"CREATE TABLE [test] ([_id] INTEGER NOT NULL PRIMARY KEY AUTOINCERMENT,
[content] TEXT,[count] INTEGER)";
[Fqlite cretaTable:sql];
//这样我们就创建了一张表啦!接下来我们可以进行查询,插入,修改的操作啦!
//插入操作
NSString *insertSql = [NSString stringWithFormat:@"INSERT INTO test(content,count) VALUES('%@','%d')",@"hello",int i = 3];
[Fqlite update:insertSql];
//修改操作
NSString *updateSql = [NSString stringWithFormat:@"UPDATE test SET content = '%@',count = '%d' WHERE _id='%d",@"test",4,1];
[Fqlite update:updateSql];
//查询操作
NSString *sql = @"SELECT * FORM test";
FMResultSet *set = [Fqlite select:sql];
while([set next])
{
int id = [set intForColumnIndex:0];
NSString *content = [set stringForColmnIndex:1];
int count = [set intForColumnIndex:2];
}
*/
FMDB操作详解
最新推荐文章于 2021-03-13 04:27:46 发布