select rownum, username from users
ORACLE可以,别的不知道行不行!
ORACLE可以,别的不知道行不行!
解决方案 »
- 读取XML的时候为什么报access violation at address的错,高手请教
- 怎么通过摄像头,数码相机,扫描仪采集图象并实时显示在Delphi的一个空白Form上并存如数据库? 分不够再加
- 连接mssql要用到哪几个组件?
- 怎么样只让程序运行一个实例
- 求 DELPHI 7。0 的组册机!
- 怎样调用外部程序打开外部文件
- 如何计算执行一条Sql语句的时间
- 串口通信问题
- 如果花了N长时间下载一个10M软件运行时却发现少了一个文件……谁能帮帮我???
- 100分并追加分数问题!如何象fpe游戏修改软件那样直接访问、修改其他程序的指定偏移量领空?
- 高程考什么语言? C/C++ 么?还有汇编?另外还需要一些什么参考书呢?
- 在三层结构中断电问题?
标准的SQL语法中有办法得到类似rownum的语法吗?
有没有一种通用的方案呢?
我是学习数据分页的时候遇到这个问题的。如果已知检索的结果是海量数
据,而其实用户不可能完全阅读,所以使用分页。我看到有些分页方案是先
取得所有数据,然后定位到某一页,再滚动纪录,显示随后的一部分纪录。 这种做法的效率不高。mysql有这样的语法
SELECT * FROM USERS LIMIT 100,200
来取得区间部分的数据集,这非常好用,可是其他数据库不支持。
比如MS SQL SERVER中需要写一个过程,ORECAL中有ROWNUM,都能实现
取出指定区间部分的数据集。
我想,如果能够用标准SQL语句,取得每一行的序号,问题就用一种通用的
方法可以解决了。所以有此一问。
如果仅仅想获得列表的序号:Table.RecordNo不就是吗!!!!
SELECT * FROM USERS LIMIT 100,200
//取出表中第100行到第200行的数据。 lastlove(小豆芽)和ie4888(业余选手)指出Oracle数据库中有一个唯一物理序号,可以通过rownum取得。那么可以这样写:
SELECT * FROM USERS WHERE (rownum>=100 and rownum<=200) Java论坛上有人谈到在MS SQL Server中有rec_id类似于Oracle的rownum那么,应该也可以这样解决了。 谢谢 Rewiah(乘长风) 的观点。如果操作海量数据库,我想有必要这样考虑一下效率问题。
Select @drows = COUNT(*)/3 FROM sales
SET ROWCOUNT @drows
或用:Select top 10 from sales
Classes;const
NotAssigned = 0;type
TObjectID = Integer; TPDObject = class
private
FID: TObjectID;
published
property ID: TObjectID read FID;
end;function StrToID(Value: string); TObjectID;
function IDToStr(Value: TObjectID): string;implementation....end.
published
property ID: TObject read FID default NotAssigned;// a Sample of TPDObject implementing;unit ProblemDomain;interfaceuses
Framework;type
TMyAppObject = class(TPDObject) end; TYourDBTableObject = class(TMyAppObject)
private
FName: string;
....
published
property Name: string read FName;
end;
implementation...end.
我不知道你的意思。我看是很一般的类的定义、继承。:-)
private
FDMObject: TDMObject; // persistent data
public
procedure LoadObject(FID: TObjectID);
end;// implement LoadObject;procedure TObject.LoadObject(FID: TObjectID);
begin
if FID <> NotAssigned then
DMObject.Load(FID)
end;
不懂。呵呵,需要向你学习。
我是菜鸟啊!三人行,必有我师,我来学习的。
有道理呵。不过真的需要向你学习学习。我的email是[email protected]。
希望能和你互相探讨和学习。
如设置PageSize := 50;
再设置AbsolutePage := 5;
就表示每页记录数为50,当前输出页为第五页!