sqlite 分页查询
2016-06-24 11:43
232 查看
网上例子:
select * from users order by id limit 10 offset 0; //offset代表从第几条记录“之后“开始查询,limit表明查询多少条结果运用:sqlitecmd.CommandText = string.Format("select * from GuestInfo order by GuestId limit {0} offset {0}*{1}", size, index-1);
//size:每页显示条数,index页码我的例子:#pragma mark- 获取所有的系统消息 - msgType & displayType 分页查询- (NSMutableArray *)getAllSysMessageBymsgType:(long long)msgType displayType:(long long)displayType page:(NSInteger)page pageSize:(NSInteger)size error:(NSError **)error { { if (size < 0) { return [NSMutableArray array]; } __block NSMutableArray * resultArray = [NSMutableArray array]; __block SSDAOSysMessage *message = nil; __weak typeof(self) weakObj = self; [self.dbPocrchQueue inDatabase:^(FMDatabase *db) { __strong typeof (weakObj) strongObj = weakObj; if (!db) { return; } NSString *sql = [NSString stringWithFormat:@"select * from %@ where %@ = %lld and DISPLAY_TYPE = %lld ORDER BY %@ DESC", @"SSSysMessage", @"MSG_TYPE", msgType, displayType, @"MSGSEQ_ID"]; LOGI(@"************sql: %@",sql); FMResultSet *result = [db executeQuery:sql]; while (result.next){ message = [strongObj sysMessageFromDatabaseResult:result]; [resultArray addObject:message]; } [result close]; if ([db hadError] && error) { *error = [db lastError]; } }]; return resultArray; }}- (void)getAllSysMessageBymsgType:(long long)msgType displayType:(long long)displayType page:(NSInteger)page pageSize:(NSInteger)size error:(NSError **)error callBack:(SSDataResultCallback)callback{ __weak typeof(self) weakObj = self; [SSExecutionHelper invokeQueue:self.managerQueue usingBlock:^{ __strong typeof(weakObj) strongObj = weakObj; NSError * err ; NSMutableArray * result = [strongObj.databasePorch getAllSysMessageBymsgType:msgType displayType:displayType page:page pageSize:size error:&err]; NSMutableArray * array = [NSMutableArray array]; for (SSDAOSysMessage * daoObj in result) { SSSysMessage * sysMsg = [[SSSysMessage alloc]init]; [sysMsg updateWithDAOSysMessage:daoObj]; [array addObject:sysMsg]; } if(callback) { callback(array,err); } }]; }-(void)test_getdata_db_page_callBack:(SSDataResultCallback)callback{ LOGI(@" ********* test_getdata_db_page ********* " ); //分页查询测试 int pageSize = 10; __block int page = 1; __weak typeof(self) weakObj = self; int msgType = 4; int submsgTYpe = 8; __block NSMutableArray * tmp = [NSMutableArray array]; [SSExecutionHelper invokeQueue:self.managerQueue usingBlock:^{ __strong typeof(weakObj) strongObj = weakObj; [strongObj getAllSysMessageBymsgType:msgType displayType:submsgTYpe page:page pageSize:pageSize error:nil callBack: ^(id data, NSError *err) { page = page +1; NSArray * arr = data; if (arr.count > 0) { [tmp addObjectsFromArray:data]; }else{ callback(tmp,nil); } [strongObj getAllSysMessageBymsgType:msgType displayType:submsgTYpe page:page pageSize:pageSize error:nil callBack: ^(id data, NSError *err) { NSArray * arr = data; if (arr.count > 0) { [tmp addObjectsFromArray:data]; }else{ callback(tmp,nil); } }]; }]; }]; }
相关文章推荐
- 安装oracle即时客户端
- 安装oracle即时客户端
- 如何使用动软代码生成器连接oracle生成数据库设计文档
- MySQL5.7 Last_Errno: 1062问题处理
- 小心Redis漏洞让你服务器沦为肉鸡
- 安插时间类型到oracle数据库,格式代码出现两次
- MongoDB Any Version安装、使用、卸载与配置(CentOS)
- 第一章 MySQL体系
- c#链接oracle
- mysql 分数排名,更新表
- mysql修改root密码
- /var/lib/mysql/mysql.sock错误的解决办法
- 一些sql
- 安装SQL Server出现 Microsoft .NET Framework 3.5 Service Pack 1 规则失败提示
- SQL Server 日期的加减函数: DATEDIFF DATEADD
- mysql使用GROUP BY分组实现取前N条记录的方法
- /var/lib/mysql/mysql.sock错误的解决办法
- MySQL使用详解--根据个人学习总结
- Mongodb与Redis应用指标对比
- MySQL5.7重置ROOT密码测试可行的办法