zoukankan      html  css  js  c++  java
  • iOS 更新增加数据库字段

    在iOS中新版本更新涉及字段改动时有发生,为保留原有数据完成数据更新,可以采用一下代码

    - (void)alterItemTableToAddFilterColumnsIfNeeded {
        [self alterItemTableToAddFilterColunm:@"Color"];
        [self alterItemTableToAddFilterColunm:@"FashionStyle"];
        [self alterItemTableToAddFilterColunm:@"Category"];
    }
    
    - (void)alterItemTableToAddFilterColunm:(NSString *)columnName {
        //没有添加该列则修改添加
        if (![self checkFilterColumnExists:columnName]) {
            [self alterItemTableToAddColumn:columnName];
        }
    }
    
    - (BOOL)checkFilterColumnExists:(NSString *)columnName {
        __block BOOL returnBool = NO;
        
        [_queue inDatabase:^(FMDatabase *db) {
            [db open];
    
            FMResultSet *resultSet = [db executeQuery:[NSString stringWithFormat:@"PRAGMA table_info(%@)", @"Item"]];
            NSMutableArray* columnNames = [[NSMutableArray alloc] init];
            while ([resultSet next]) {
                if ([[resultSet stringForColumn:@"name"] isEqualToString: columnName]) {
                    returnBool = YES;
                    break;
                }
            }
            [db close];
        }];
        
        return returnBool;
    }
    
    - (void)alterItemTableToAddColumn:(NSString *)columnName {
        NSString *alterSql = [NSString stringWithFormat:@"ALTER TABLE Item ADD COLUMN %@ TEXT DEFAULT ''", columnName, nil];
        
        [_queue inDatabase:^(FMDatabase *db) {
            [db open];
    
            if ([db executeUpdate:alterSql]) {
                NSLog(@"Alter Item Filter Success!");
            } else {
                NSLog(@"Alter Item Filter Error!");
            }
            
            [db close];
        }];
    }
  • 相关阅读:
    <form:select>的使用
    存储过程-删除、新建索引
    java 反射常用总结
    java判断是否是数字
    jquery遍历数组添加行删除行
    oracle常用sql
    cxf (zhuan)
    linux 常用命令--个人小结一
    java发送邮件
    socket和webservice特点
  • 原文地址:https://www.cnblogs.com/junwang/p/3467185.html
Copyright © 2011-2022 走看看