数据库的熟练又增加了!~

来源:互联网 发布:mac10.9 php开发环境 编辑:程序博客网 时间:2024/04/30 01:23

虽然代码还是有点乱,不过总体感觉自己的业务逻辑提升挺多.
做个记录

+(instancetype)shareSqliteManager{

static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{    manager = [[SqliteManager alloc] init];});return manager;

}

-(id)init{
self = [super init];
//在document路径下创建数据库路径//通过搜素方式找到沙盒下 Document文件夹路径
NSString *docPath = [NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
//创建数据库对象
NSString *SQLPath = [docPath stringByAppendingPathComponent:@”FMDB.sqlite”];
NSLog(@”SQLPath = %@”,SQLPath);
_dataBase =[FMDatabase databaseWithPath:SQLPath];
self.dbFilePath = SQLPath;
if ([_dataBase open]) {
[self.dataBase open];
BOOL result = [self.dataBase
executeUpdate:@”CREATE TABLE IF NOT EXISTS record_table (ID INTEGER PRIMARY KEY AUTOINCREMENT,ortginal text ,translation text)”];
result = [self.dataBase
executeUpdate:@”CREATE TABLE IF NOT EXISTS history_table (ID INTEGER PRIMARY KEY AUTOINCREMENT,address text ,date text)”];
result = [self.dataBase
executeUpdate:@”CREATE TABLE IF NOT EXISTS details_table (ID INTEGER PRIMARY KEY AUTOINCREMENT, date text,address text ,language text ,ortginal text ,translation text)”];
if (result) {
NSLog(@”成功创建表格”);
}
[self.dataBase close];
fmdbQueue = [[FMDatabaseQueue alloc]initWithPath:self.dbFilePath];
}
return self;
}
//———————————————————————————————
//第一张表
//插入
-(void)insertRecordInfo:(LSTranslatIonModel *)record {

[self.dataBase open];[self.dataBase executeUpdate:@"INSERT INTO record_table (ID,ortginal,translation) VALUES (?,?,?)" ,record.ID,record.ortginal,record.translation];[self.dataBase close];NSLog(@"插入表格");

}

/**
* 删除数据库里面 一类名字的数据
* @param record 模型
*/
- (void)deleteRecordInfo:(LSTranslatIonModel *)record {
[self.dataBase open];
BOOL result = [self.dataBase executeUpdate:@”DELETE FROM record_table WHERE ID = ?”,record.ID];
if (result) {
NSLog(@”数据库删除成功”);
}
[self.dataBase close];
}

-(int)numberOfCurrentBooksInDataBase {
[self.dataBase open];
int count = [self.dataBase intForQuery:@”SELECT COUNT(*) FROM record_table;”];
NSLog(@”数据行的总数量:%d”, count);
[self.dataBase close];
return count;
}

/**
* 更新一个的数据
* @param record 数据模型
*/
-(void)updateRecordInfo:(LSTranslatIonModel *)record {
[self.dataBase open];

BOOL result = [self.dataBase               executeUpdate:@"UPDATE record_table SET ortginal=?,translation=? WHERE ID=?"               ,record.ortginal, record.translation,record.ID];[self.dataBase close];if (result == NO) {    NSLog(@"error %@",self.dataBase.lastErrorMessage);}else {    NSLog(@"update record: %@",record);}

}

/**
* 获取表中的所有数据 以模型的形式存储在数组中
* @return 表中的数据
*/
- (NSMutableArray *)getAllRecordInfo{
[self.dataBase open];
// 从数据库获得记录
FMResultSet result = [self.dataBase executeQuery:@”SELECT FROM record_table”];
NSMutableArray *allDeviceArray = [[NSMutableArray alloc]init];

while ([result next]) {    LSTranslatIonModel *model = [LSTranslatIonModel                                 o_creatOrtginal:[result stringForColumn:@"ortginal"]                                 Translation:[result stringForColumn:@"translation"]                                 ID:[result stringForColumn:@"ID"]];    [allDeviceArray addObject:model];}[self.dataBase close];return allDeviceArray;

}

/**
* 把mac地址取出来
* @param ID name
* @return 名字为name数组
*/
-(NSMutableArray )getRecord:(NSString )ID {
[self.dataBase open];
FMResultSet *result = [self.dataBase
executeQuery:@”SELECT * FROM record_table WHERE ID = ?”,ID];
NSMutableArray *stuArray = [[NSMutableArray alloc] init];
while ([result next]) {
LSTranslatIonModel *model = [LSTranslatIonModel
o_creatOrtginal:[result stringForColumn:@”ortginal”]
Translation:[result stringForColumn:@”translation”]
ID:[result stringForColumn:@”ID”]];
[stuArray addObject:model];
}
[self.dataBase close];
return stuArray;
}

0 0
原创粉丝点击