可以用select top语句但楼上的都有错误select top 5,* from table错误 改select top 5 * from table,但这只是取前5行,而不是5-10行记录。要实现取5-10行记录,必须要一个主键ID作为排序ID,下面以sqlserver例子数据库northwind 中的orders表为例: select top 5 * from orders where orderid in ( select top 10 orderid from orders order by orderid desc ) order by orderid
如果是B/Sd也可以采用lxcc(虫子)的方法用分页实现。
select top 5 * from orders where orderid in ( select top 10 orderid from orders order by orderid desc ) order by orderid 高呀!!
CMIC(大象) 说得对,要用到一个主键ID作为排序ID 下面的方法也是差不多的,用天NOT IN SIZE为要查询的总行数, //在该问中,其值为6 RowsToSkip为要跳过的行数, //在该问中,其值为4SELECT TOP SIZE * FROM MyTable WHERE KeyColumn NOT IN (SELECT TOP RowsToSkip KeyColumn FROM MyTable ORDER BY SortOrder) ORDER BY SortOrder
在DataGrid的ItemDataBound事件中也可以自定义DataGrid 项的功能
同意“CMIC(大象)”意见!!!
这个问题本身就很笼统,数据库保存数据的时候它根本就没有记录顺序的问题(dbf除外)。你要取5-10记录必须有参照对象的。select top 5 * from (select top 10 * from t order by fkey) t --取前10条 order by fkey desc
当然还要用SQL语句
!
改select top 5 * from table,但这只是取前5行,而不是5-10行记录。要实现取5-10行记录,必须要一个主键ID作为排序ID,下面以sqlserver例子数据库northwind
中的orders表为例:
select top 5 *
from orders
where orderid in
(
select top 10 orderid
from orders
order by orderid desc
)
order by orderid
from orders
where orderid in
(
select top 10 orderid
from orders
order by orderid desc
)
order by orderid
高呀!!
下面的方法也是差不多的,用天NOT IN
SIZE为要查询的总行数, //在该问中,其值为6
RowsToSkip为要跳过的行数, //在该问中,其值为4SELECT TOP SIZE *
FROM MyTable
WHERE KeyColumn NOT IN
(SELECT TOP RowsToSkip KeyColumn FROM MyTable ORDER BY SortOrder)
ORDER BY SortOrder
(select top 10 * from t order by fkey) t --取前10条
order by fkey desc
我其实愿意是这样:
我想做一个WEB服务,要求它返回客户端一个DATASET,但因为数据量会很大,我想每次只返回一部分,我开始在想,让客户端每次发给WEB服务一个页号来得到它所想要的数据中的某一部分,不知道大家能有什么更好的办法吗?
其实我中间有一些问题还不是很明白,比如,WEB服务返回DATASET时,它是将所有DATASET的内容一下子全部发出去吗?如果我的客户端是应用程序,想用到DATAGRID这个控件,能控制到它每次只发回一小部分数据吗?如果能,如何做到,如果不行,大家能给一点好的建议吗?再次感谢大家了!!
datagrid.allowpaging = true
oleDbDataAdapter1.Fill(dataSet,startRecord,maxRecords,srcTable);
提供startRecord,maxRecords参数就可以了(平时都只用dataset、table),可不用管它是Oracle还是SQL Server了
EMAIL:[email protected]
可以交流交流经验