cdts/xdts-ios 3/Pods/DDSqliteManager/SqliteSpec/Classes/DDDBSearchHisManager.h
2023-07-27 09:20:00 +08:00

517 lines
16 KiB
Objective-C
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// DDDBManager.h
// YZDoctors
//
// Created by lishengshu on 15-7-29.
// Copyright (c) 2015年 李胜书. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <FMDB/FMDB.h>
@protocol DDDBManagerDelegate <NSObject>
@optional
/**
异步表创建或直接使用查询的结果
@param result 异步的表结果
@param tName 此结果的表名
*/
- (void)tableReadyResult:(BOOL)result
tName:(NSString *)tName;
/**
异步表插入的结果
@param result 插入结果
@param tName 表名
@param dataDic 数据的字典
*/
- (void)tableInsertResult:(BOOL)result
tName:(NSString *)tName
dataDic:(NSDictionary *)dataDic;
/**
异步搜索返回结果
@param result 返回搜索结果
@param tName 表名
@param dataDic 数据的字典
*/
- (void)tableSearchResult:(id)result
tName:(NSString *)tName
dataDic:(NSDictionary *)dataDic;
/**
异步搜索返回结果
@param result 返回更新结果
@param tName 表名
@param search 更新数据的条件字典或条件类
@param data 更新数据的字典或类
*/
- (void)tableUpdateResult:(BOOL)result
tName:(NSString *)tName
search:(id)search
dataDic:(id)data;
/**
异步删除返回表结果
@param result 返回删除表结果
@param tName 删除的表名
*/
- (void)tableDeleteResult:(BOOL)result
tName:(NSString *)tName;
/**
异步关闭数据库结果
@param result 关闭数据库的结果
@param dbName 关闭的db的名字
*/
- (void)dbCloseResult:(BOOL)result
dbName:(NSString *)dbName;
@end;
@interface DDDBSearchHisManager : NSObject
/**
单实例化
@return 返回生成的单实例
*/
+ (DDDBSearchHisManager *)ShareInstance;
@property (nonatomic,strong) FMDatabase *searchHisDB;
#pragma mark - 数据库创建,表创建------------------------|*|*|*|*|*|
/**
创建数据库的函数利用FMDB的SQL语句创造本地数据库
@param dbName 本地数据库名
@return 返回是否成功的bool
*/
- (BOOL)creatDatabase:(NSString *)dbName;
/**
查询数据库是否打开
@return 返回结果
*/
- (BOOL)isDBReady;
/**
检查本地数据库表是否存在如不存在以数组作为键名建表默认主键名为keyNSInteger类型自增长
@param tName 表名
@param keyArr 数据库参数数组
@return 返回是否成功的bool
*/
- (BOOL)isTableExist:(NSString *)tName
tKeyArr:(NSArray *)keyArr;
/**
检查本地数据库表是否存在如不存在以数组作为键名建表默认主键名为keyNSInteger类型自增长
@param tName 表名
@param tableClass 数据库参数模型
@return 返回是否成功的bool
*/
- (BOOL)isTableExist:(NSString *)tName
tModel:(Class)tableClass;
/**
另起线程检查本地数据库表是否存在如不存在以数组作为键名建表默认主键名为keyNSInteger类型自增长通过delegate通知异步处理结果
@param tName 表名
@param keyArr 表结构
*/
- (void)isTableExistQueue:(NSString *)tName
tKeyArr:(NSArray *)keyArr;
/**
另起线程检查本地数据库表是否存在如不存在以数组作为键名建表默认主键名为keyNSInteger类型自增长通过block通知异步处理结果
@param tName 表名
@param keyArr 表结构
@param resultBlock 创建成功后block
*/
- (void)isTableExistQueue:(NSString *)tName
tKeyArr:(NSArray *)keyArr
result:(void(^)(BOOL result))resultBlock;
/**
另起线程检查本地数据库表是否存在如不存在以传入的Model模型作为键名建表默认主键名为keyNSInteger类型自增长通过delegate通知异步处理结果
@param tName 表名
@param tableClass 模型类
*/
- (void)isTableExistQueue:(NSString *)tName
tModel:(Class)tableClass;
/**
另起线程检查本地数据库表是否存在如不存在以传入的Model模型作为键名建表默认主键名为keyNSInteger类型自增长通过block通知异步处理结果
@param tName 表名
@param tableClass 模型
@param resultBlock 创建成功后block
*/
- (void)isTableExistQueue:(NSString *)tName
tModel:(Class)tableClass
result:(void(^)(BOOL result))resultBlock;
#pragma mark - 数据库插入更新操作------------------------|*|*|*|*|*|
/**
根据字典添加数据入库如果不存在则新增如果已存在返回no
@param tName 表名
@param dataDic 数据的字典
@return 返回结果bool成功与否
*/
- (BOOL)insertTableObj:(NSString *)tName
dataDic:(NSDictionary *)dataDic;
/**
根据字典添加数据入库如果不存在则新增如果已存在返回no
@param tName 表名
@param dataClass 数据的模型类
@return 返回结果bool成功与否
*/
- (BOOL)insertTableObj:(NSString *)tName
dataModel:(NSObject *)dataClass;
/**
根据字典添加数据入库,直接新增,不管重复
@param tName 表名
@param dataDic 数据的字典
@return 返回结果bool成功与否
*/
- (BOOL)directInsertTableObj:(NSString *)tName
dataDic:(NSDictionary *)dataDic;
/**
根据模型添加数据入库,直接新增,不管重复
@param tName 表名
@param dataClass 数据的模型类
@return 返回结果bool成功与否
*/
- (BOOL)directInsertTableObj:(NSString *)tName
dataModel:(NSObject *)dataClass;
/**
另起线程根据字典直接添加数据入库不考虑重复情况delegate通知异步处理结果
@param tName 表名
@param dataDic 字典名
*/
- (void)directInsertTableObjQueue:(NSString *)tName
dataDic:(NSDictionary *)dataDic;
/**
另起线程根据字典直接添加数据入库不考虑重复情况block通知异步处理结果
@param tName 表名
@param dataDic 字典名
@param resultBlock 插入结果block
*/
- (void)directInsertTableObjQueue:(NSString *)tName
dataDic:(NSDictionary *)dataDic
result:(void(^)(BOOL result))resultBlock;
/**
另起线程根据字典直接添加数据入库不考虑重复情况delegate通知异步处理结果
@param tName 表名
@param dataClass 数据的模型类
*/
- (void)directInsertTableObjQueue:(NSString *)tName
dataModel:(NSObject *)dataClass;
/**
另起线程根据字典直接添加数据入库不考虑重复情况block通知异步处理结果
@param tName 表名
@param dataClass 数据的模型类
@param resultBlock 插入结果block
*/
- (void)directInsertTableObjQueue:(NSString *)tName
dataModel:(NSObject *)dataClass
result:(void(^)(BOOL result))resultBlock;
/**
根据字典直接添加数据入库如果不存在则新增如果已存在delegate返回失败另起线程
@param tName 表名
@param dataDic 字典名
*/
- (void)insertTableObjQueue:(NSString *)tName
dataDic:(NSDictionary *)dataDic;
/**
根据字典,另起线程添加数据入库如果不存在则新增如果已存在返回失败block处理
@param tName 表名
@param dataDic 字典名
@param resultBlock 插入结果block
*/
- (void)insertTableObjQueue:(NSString *)tName
dataDic:(NSDictionary *)dataDic
result:(void(^)(BOOL result))resultBlock;
/**
另起线程根据字典添加数据入库重复情况delegate返回失败delegate通知异步处理结果
@param tName 表名
@param dataClass 数据的模型类
*/
- (void)insertTableObjQueue:(NSString *)tName
dataModel:(NSObject *)dataClass;
/**
另起线程根据字典添加数据入库重复情况block返回失败block通知异步处理结果
@param tName 表名
@param dataClass 数据的模型类
@param resultBlock 插入结果block
*/
- (void)insertTableObjQueue:(NSString *)tName
dataModel:(NSObject *)dataClass
result:(void(^)(BOOL result))resultBlock;
#pragma mark - 数据库查询操作------------------------|*|*|*|*|*|
/**
通过字典获取某一表的某一项的记录
@param tName 表名
@param searchDic 搜索的条件字典
@return 返回
*/
- (FMResultSet *)searchOne:(NSString *)tName
searchDic:(NSDictionary *)searchDic;
/**
通过模型获取某一表的某一项的记录
@param tName 表名
@param searchClass 搜索的条件model
@return 返回
*/
- (FMResultSet *)searchOne:(NSString *)tName
searchModel:(NSObject *)searchClass;
/**
异步获取某一表的某一项的记录delegate通知返回
@param tName 表名
@param searchDic 搜索的条件字典
*/
- (void)searchOneQueue:(NSString *)tName
searchDic:(NSDictionary *)searchDic;
/**
异步获取某一表的某一项的记录block通知返回
@param tName 表名
@param searchDic 搜索的条件字典
@param resultBlock 插入结果block
*/
- (void)searchOneQueue:(NSString *)tName
searchDic:(NSDictionary *)searchDic
result:(void(^)(id result))resultBlock;
/**
通过模型获取某一表的某一项的记录delegate通知返回
@param tName 表名
@param searchClass 搜索的条件model
*/
- (void)searchOneQueue:(NSString *)tName
searchModel:(NSObject *)searchClass;
/**
通过模型获取某一表的某一项的记录block通知返回
@param tName 表名
@param searchClass 搜索的条件model
@param resultBlock 插入结果block
*/
- (void)searchOneQueue:(NSString *)tName
searchModel:(Class)searchClass
result:(void(^)(id result))resultBlock;
/**
返回某一表的最后number行记录
@param tName 表名
@param number 最后多少行
@return 返回的记录
*/
- (FMResultSet *)searchLastNumber:(NSString *)tName
number:(long)number;
/**
异步返回某一表的最后number行记录,delegate返回结果
@param tName 表名
@param number 最后多少行
*/
- (void)searchLastNumberQueue:(NSString *)tName
number:(long)number;
/**
异步返回某一表的最后number行记录,block返回结果
@param tName 表名
@param number 最后多少行
@param resultBlock 插入结果block
*/
- (void)searchLastNumberQueue:(NSString *)tName
number:(long)number
result:(void(^)(id result))resultBlock;
/**
搜索并返回某一表的所有字段数值
@param tName 要获取的表名
@return 返回的FMDB的特有格式数组
*/
- (FMResultSet *)searchAll:(NSString *)tName;
/**
异步搜索并返回某一表的所有字段数值,delegate返回结果
@param tName 要获取的表名
*/
- (void)searchAllQueue:(NSString *)tName;
/**
异步搜索并返回某一表的所有字段数值,block返回结果
@param tName 要获取的表名
@param resultBlock result block
*/
- (void)searchAllQueue:(NSString *)tName
result:(void(^)(FMResultSet *result))resultBlock;
/**
获取当前打开的本地数据库的所有表名,返回数组
@return 返回的表名数组
*/
- (NSMutableArray *)searchAllTableName;
/**
异步获取当前打开的本地数据库的所有表名,delegate返回结果
*/
- (void)searchAllTableNameQueue;
/**
异步获取当前打开的本地数据库的所有表名,block返回结果
*/
- (void)searchAllTableNameQueue:(void(^)(NSMutableArray *result))resultBlock;
#pragma mark - 数据库更新操作------------------------|*|*|*|*|*|
/**
根据搜索字典更新数据库如果不存在返回no
@param tName 表名
@param searchDic 更新数据的条件字典
@param dataDic 数据的字典
@return 返回结果bool成功与否
*/
- (BOOL)updateTableObj:(NSString *)tName
searchDic:(NSDictionary *)searchDic
dataDic:(NSDictionary *)dataDic;
/**
根据搜索模型更新数据库如果不存在返回no
@param tName 表名
@param searchClass 更新数据的条件模型类
@param dataClass 数据的模型类
@return 返回结果bool成功与否
*/
- (BOOL)updateTableObj:(NSString *)tName
searchModel:(NSObject *)searchClass
dataModel:(NSObject *)dataClass;
/**
异步根据搜索字典更新数据如果不存在返回no通过delegate返回结果
@param tName 表名
@param searchDic 更新数据的条件字典
@param dataDic 数据的模型类
*/
- (void)updateTableObjQueue:(NSString *)tName
searchDic:(NSDictionary *)searchDic
dataDic:(NSDictionary *)dataDic;
/**
异步根据搜索字典更新数据如果不存在返回no通过block返回结果
@param tName 表名
@param searchDic 更新数据的条件字典
@param dataDic 数据的模型类
@param resultBlock result block
*/
- (void)updateTableObjQueue:(NSString *)tName
searchDic:(NSDictionary *)searchDic
dataDic:(NSDictionary *)dataDic
result:(void(^)(BOOL result))resultBlock;
/**
异步根据搜索模型更新数据入库如果不存在返回no通过delegate返回结果
@param tName 表名
@param searchClass 更新数据的条件模型类
@param dataClass 数据的模型类
*/
- (void)updateTableObjQueue:(NSString *)tName
searchModel:(NSObject *)searchClass
dataModel:(NSObject *)dataClass;
/**
异步根据搜索模型更新数据入库如果不存在返回no通过block返回结果
@param tName 表名
@param searchClass 更新数据的条件模型类
@param dataClass 数据的模型类
@param resultBlock result block
*/
- (void)updateTableObjQueue:(NSString *)tName
searchModel:(NSObject *)searchClass
dataModel:(NSObject *)dataClass
result:(void(^)(BOOL result))resultBlock;
#pragma mark - 数据库删除操作------------------------|*|*|*|*|*|
/**
删除表
@param tName 删除的表名
@return 删除结果
*/
- (BOOL)deleteTable:(NSString *)tName;
/**
异步删除表delegate返回结果
@param tName 删除的表名
*/
- (void)deleteTableQueue:(NSString *)tName;
/**
异步删除表block返回结果
@param tName 删除的表名
@param resultBlock result block
*/
- (void)deleteTableQueue:(NSString *)tName
result:(void(^)(BOOL result))resultBlock;
/**
根据数据库某一字段删除某一条记录
@param tName 要删除的表名
@param deleteDic 要删除的条件字典
@return 返回删除结果
*/
- (BOOL)deleTableOjb:(NSString *)tName
deleteDic:(NSDictionary *)deleteDic;
/**
根据数据库某一字段异步删除某一条记录delegate返回结果
@param tName 要删除的表名
@param deleteDic 要删除的条件字典
*/
- (void)deleTableOjbQueue:(NSString *)tName
deleteDic:(NSDictionary *)deleteDic;
/**
根据数据库某一字段异步删除某一条记录block返回结果
@param tName 要删除的表名
@param deleteDic 要删除的条件字典
@param resultBlock result block
*/
- (void)deleTableOjbQueue:(NSString *)tName
deleteDic:(NSDictionary *)deleteDic
result:(void(^)(BOOL result))resultBlock;
#pragma mark - 关闭数据库------------------------|*|*|*|*|*|
/**
关闭数据库
*/
- (BOOL)closeDB;
/**
异步关闭数据库通过delegate返回关闭结果
*/
- (void)closeDBQueue;
/**
异步关闭数据库通过block返回关闭结果
@param resultBlock result block
*/
- (void)closeDBQueue:(void(^)(BOOL result))resultBlock;
@end