你没有创建DATASOUER控件,DBGRID是通过DATASOUER连上RECORDSET的
解决方案 »
- 关于Socket通讯请教
- 关于用delphi通过串口发送文件的问题
- 如何实现"Setup.exe在线安装"?(期待有解.............)
- 如何捕获ClientDataSet.ApplyUpdates的错误,不用ReconcileError
- Excel复制、粘贴问题
- 自定义过程中数组定义的问题
- Delphi中访问Oracle时的问题
- 在将checkbox加入treelist控件中时,怎样更改checkbox的图标
- DELPHI6.0的帮助不知为何没有了索引?我不记得一开始时有没有了,若原来有的,如何恢复?
- 谁知道怎样在windows下格式化硬盘??!!!40分
- delphi有李维,c这里又没有?
- filter的用法
http://www.csdn.net/expert/topic/638/638880.xml?temp=.2018854
向上难一点点.向下
SELECT TOP 100 <PrimaryKey> FROM Table1
WHERE <PrimaryKey> > <本页分页标记>
ORDER BY <PrimaryKey>向上,给个思路给你。 设一个上页分页标记,先降序,取出前你要的记录数, 然后再升序。 搞定看下面, 这思路我问人家花掉300分SELECT TOP <每页记录数> <PrimaryKey>FROM Table1 WHERE <PrimaryKey> IN (
SELECT TOP <每页记录数> <PrimaryKey> FROM Table1
WHERE <PrimaryKey> <= <上一页分页标记>
ORDER BY <PrimaryKey> DESC
)
ORDER BY <PrimaryKey>我晚上搞了一晚, 刚刚通过,太兴奋了。以前我把所有数据都显示出来, 这样软件速度慢极了。 现在快多了。
SELECT TOP 100 <PrimaryKey> FROM Table1
WHERE <PrimaryKey> > <本页分页标记>
ORDER BY <PrimaryKey>
那我来告诉你吧 <PrimaryKey> 是一个键, 比如说编号 bh, 编号须是排序的。0-3000吧
首先你取出table1表的第一条记录。 存放到一个变量里头,
var
tmplb:string;
beginadotable1.first;
TMPlb:=ADOTable1.Fields.FieldByName('bh').AsString; // 这里取到的是第一条记录也就是值bh=0的记录送到tmplb变量里
select top 100 * from table1
where bh>TMPlb //这里是你定义的分页标记, where bh>0
ORDER BY bhend;
点击下一页时,就取出第100条记录的值送于tmplb, select top 100 * from table1
where bh>TMPlb //这里是你定义的分页标记, where bh>100
ORDER BY bh
这样你取的是100-200做个循环不就成了
listview。。先open所有,在分页加到listview中,虽然有性能问题
[email protected]