关于sqlite 语句的摘录(结合 FMDB)

//创建管理类
NSString *HomePath = [NSString stringWithFormat:@"%@/Documents/Message.db",NSHomeDirectory()];
    self.dataBase = [[FMDatabase alloc]initWithPath:HomePath];
    [self.dataBase open];



//打开表
NSString *messageType_id;
    NSString *num;

    NSString *createTab = @"CREATE TABLE IF NOT EXISTS MessageTable(int IDENTITY (1,1) PRIMARY KEY, messageType_id varchar(32), num varchar(32))";

    //增,删,改,查 都是用executeUpdate 这个方法来实现
    //把所有参数都转化成字符串 存进数据库
    BOOL isSuc = [_dataBase executeUpdate:createTab, messageType_id, num];



//更新某个数据
//UPDATE 表名 + SET +需要更新的字段 + WHERE + 查找的条件
NSString *updateSql = @"UPDATE MessageTable SET num = ? WHERE messageType_id = ?";

    //增,删,改,查 都是用executeUpdate 这个方法来实现
    //把所有参数都转化成字符串 存进数据库
    BOOL isSuc = [_dataBase executeUpdate:updateSql, num, messageType_id];



//插入某个数据
 NSString *insertSql = @"INSERT INTO MessageTable(num,messageType_id) values(?,?)";

    BOOL isSuc = [_dataBase executeUpdate:insertSql,num,messageType_id];



//删除某个数据
NSString *deleteSql = @"DELETE FROM MessageTable WHERE messageType_id = ?";

    BOOL isSuc  = [_dataBase executeUpdate:deleteSql,messageType_id];



//查找全部数据
NSMutableArray * modelArray = [NSMutableArray array];
    NSString *selectSql = @"SELECT * FROM MessageTable";
    //    executeQuery 查询方法
    FMResultSet *set =  [_dataBase executeQuery:selectSql];
    model *model1;
    while ([set next]) {
        model1 = [model modelWithFMResultSet:set];
        [modelArray addObject:model1];
    }

//模型中添加“通过查找结果创建模型”的方法
+(model *)modelWithFMResultSet:(FMResultSet *)set
{
    return [[model alloc]initWithFMResultSet:set];
}

-(id)initWithFMResultSet:(FMResultSet *)set
{
    self = [super init];

    if (self) {
    //根据数据库字段取出结果中的值,赋给模型
        _messageType_id= [set stringForColumn:@"messageType_id"];
        _num= [set stringForColumn:@"num"];
    }
    return self;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章