CREATE PROCEDURE `page`(
in currpage int,
in columns varchar(500),
in tablename varchar(500),
in sCondition varchar(500),
in order_field varchar(100),
in asc_field int,
in primary_field varchar(100),
in pagesize int
)
begin
declare sTemp varchar(1000);
declare sSql varchar(4000);
declare sOrder varchar(1000);
if asc_field = 1 then
set sOrder = concat(' order by ', order_field, ' desc ');
set sTemp = '<(select min';
else
set sOrder = concat(' order by ', order_field, ' asc ');
set sTemp = '>(select max';
end if;
if currpage = 1 then
if sCondition <> '' then
set sSql = concat('select ', columns, ' from ', tablename, ' where ');
set sSql = concat(sSql, sCondition, sOrder, ' limit ?');
else
set sSql = concat('select ', columns, ' from ', tablename, sOrder, ' limit ?');
end if;
else
if sCondition <> '' then
set sSql = concat('select ', columns, ' from ', tablename);
set sSql = concat(sSql, ' where ', sCondition, ' and ', primary_field, sTemp);
set sSql = concat(sSql, '(', primary_field, ')', ' from (select ');
set sSql = concat(sSql, ' ', primary_field, ' from ', tablename, sOrder);
set sSql = concat(sSql, ' limit ', (currpage-1)*pagesize, ') as tabtemp)', sOrder);
set sSql = concat(sSql, ' limit ?');
else
set sSql = concat('select ', columns, ' from ', tablename);
set sSql = concat(sSql, ' where ', primary_field, sTemp);
set sSql = concat(sSql, '(', primary_field, ')', ' from (select ');
set sSql = concat(sSql, ' ', primary_field, ' from ', tablename, sOrder);
set sSql = concat(sSql, ' limit ', (currpage-1)*pagesize, ') as tabtemp)', sOrder);
set sSql = concat(sSql, ' limit ?');
end if;
end if;
set @iPageSize = pagesize;
set @sQuery = sSql;
prepare stmt from @sQuery;
execute stmt using @iPageSize;
end;
分享到:
相关推荐
这个系统具备多种功能,包括添加联系人记录、按名字或电话号码查询记录、删除记录、修改已有记录、保存记录到文件、从文件读取记录以及浏览记录的上一页、下一页、第一页和最后一页。下面我们将逐一探讨这些功能的...
《InnoDB记录存储结构解析》 在MySQL的世界里,存储引擎是数据库管理的核心组件,它负责数据的存储和检索。其中,InnoDB是最常见的存储引擎,以其事务安全性和高性能著称。本文将深入探讨InnoDB的记录存储结构,...
标题中的“mdb库结构记录保存.rar”指的是一个压缩文件,其中包含了关于Microsoft Access数据库(mdb文件)的结构和记录保存的相关信息。mdb文件是Access数据库的默认格式,用于存储数据表、查询、报表、模块等...
在“易语言mdb库结构记录保存”这个主题中,我们主要探讨的是如何使用易语言来处理Microsoft Access的mdb数据库文件,包括获取数据库结构、保存记录以及与XML文件的交互。 首先,mdb文件是Microsoft Access数据库的...
【查询记录(C语言课程设计)】的课程设计旨在训练学生的基本编程能力,特别是C语言的文件操作和结构数组的应用。这个工资管理系统是一个重要的实践项目,它涵盖了数组、结构体、文件操作等核心概念,帮助学生深入理解...
把文件的逻辑结构转换成存储结构,设计便于顺序存取和直接存取的文件存储结构。 为了提高存储空间的利用...但这些存放逻辑记录的存储空间不是按链表的形式链接在一起的,而是采用索引表来指出逻辑记录存放的物理位置。
数据被分割成页并存储在磁盘上,每个页通常包含多个记录。DB2支持多种存储类型,如堆表存储(Heap)、索引组织表(Index-Organized Table, IOT)和分区表等。 1. **堆表存储**:这是最基础的存储方式,数据按照插入...
记录的存储结构包括位置技术、关系技术、计数技术等,它们决定了数据如何在物理块上分配和组织。记录的分配方式有连续分配、链接分配、簇集分配和索引分配,每种方式都有其适用场景和优缺点。例如,连续分配适合小...
在实际编程中,我们通常使用链式存储来实现栈,因为这种结构提供了更大的灵活性。 栈的链式存储结构与数组存储相比,有其独特的优势。数组存储栈时,空间是连续的,预设大小一旦确定,难以动态扩展;而链式存储则...
6. 文件操作:在保存结构信息时,需要使用易语言的文件操作函数,如创建文件、写入文件等。 7. 用户界面:如果源码包含用户界面,可能会有事件驱动的编程模式,用户通过界面触发数据读取和保存的操作。 学习并理解...
- 查询操作:实现各种查询功能,如按宿舍号查找、按学生姓名查找等,这涉及到遍历数据结构的算法。 - 插入和删除操作:如学生入住、退宿的处理,需要考虑如何高效地修改数据结构。 - 文件操作:保存和读取数据到磁盘...
supremum 最⼩与最⼤记录,是虚拟记录 User Records 真正存数据的地⽅:以链表的形式存储⼀条条⾏记录 Free Space 存数据空间中尚未使⽤的区域 Page Directory 页⽬录:页中某些记录的相对位置,⽤于提升查询效率 ...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它的数据存储结构是理解其高效运作的基础。在Oracle中,数据被组织成逻辑和物理两层结构,以实现高效的数据管理和检索。 首先,我们从逻辑结构的角度来...
综上所述,索引的存储结构与方式是数据库设计和优化的重要组成部分,理解并合理利用各种索引类型和存储策略,能够显著提升数据查询效率,为应用程序提供更好的性能体验。在实际工作中,数据库管理员和开发人员需要...
数据库存储结构文件记录的组织和索引技术 在探讨数据库存储结构时,我们需要了解数据库的组成部分,即逻辑、物理和性能特征。数据库系统(DBS)由多个物理和逻辑对象组成,包括表、视图、索引和模式、锁、触发器、...
在数据结构方面,家族关系查询可能使用了多种数据结构来存储和管理家族信息。常见的数据结构可能包括数组、链表、树(如二叉树、AVL树或B树)和图。数组可以用于存储线性关系,链表则适用于动态添加和删除成员,而树...
总结起来,这个"搜索历史记录存储工具类"涉及到的技术点包括数据存储(如SQLite、文件系统)、数据结构(如列表、数据库表)、排序算法、数据安全以及UI设计和测试。理解并掌握这些知识点对于开发一个功能完善的搜索...
在深入理解其体系结构时,存储结构是不可或缺的部分。本篇将聚焦于SQL Server 2000的存储结构,帮助你全面掌握数据库内部的工作原理。 首先,我们来探讨SQL Server 2000的存储模型,它主要由数据页(Data Pages)、...
数据结构大作业:变长记录文件存取类库. 设计一个类库,支持对变长记录文件的存贮、插入、删除、查找、修改等功能。文件中的每条记录可以有不同的大小,是任意长度的字节流。每条记录对应一个序号(记录号)和一个...
在电话号码查询系统中,链表可以用来存储电话号码记录,其中每个节点代表一个用户的个人信息,包括姓名、电话号码和家庭住址。通过指针,系统可以轻松地在记录间进行导航,执行插入、删除和修改操作,即使记录的物理...