数据库的熟练又增加了!~
来源:互联网 发布: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;
}
- 数据库的熟练又增加了!~
- 想知道Revit 2013 又增加了哪些强大的API?
- 我的网站数据库下了又有什么用?
- 无限级联 下拉框的实现 ... 呜呜呜 __init_xu js 又增加了一个widget
- 小白也能够熟练掌握常用的数据库使用技巧
- 又调通过了一个数据库(MySql)
- 又总结了几个数据库操作
- 数据库数据的增加
- 数据库增加的方法
- 终于了又自己的博客了
- sql练习 根据网上的习题,自己又做了个数据库,练习
- 求救:MSSQL系统管理员管理权限丢了,sa密码又忘了,又没有sysadmin权限的用户,怎么恢复系统管理员对数据库的管理权限?
- 要熟练的快捷键
- 熟练的魅力
- 循环的熟练应用
- 需要熟练的知识
- 老紫竹的QQ群调整,增加了数据库,.NET和WEB开发群
- 给表空间增加数据文件的时候遇到ORA-00470错误,数据库也崩溃了!
- ARM处理器-模式切换
- 欢迎使用CSDN-markdown编辑器
- 应用跳转(Deep Link)
- 泛型例子
- Debian 8.x (Jessie) 快速纯净安装教程
- 数据库的熟练又增加了!~
- POJ 3254 Corn Fields
- Maven知识点脑图
- Xshell无法连接本地虚拟机
- php操作mysql数据库中fetch_array/assoc/row/object区别
- MATLAB中画幅频图的实现
- 线程总结
- 数学——支撑集
- 安装的第一个Linux系统 -Linux Mint 18.1 cinnamon