日期:2014-05-18  浏览次数:20729 次

100分 datagird 分页问题
winform       datagird怎么分页   谢谢   我要代码

------解决方案--------------------
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;307710
------解决方案--------------------
写存储过程呀。
------解决方案--------------------
http://mxw1682.spaces.live.com/blog/cns!9ab6199f4b1f11e2!183.entry
------解决方案--------------------
在数据库里实现分页SQL
------解决方案--------------------
--开始
CREATE PROCEDURE GetRecordFromPage
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@IsCount bit = 0, -- 返回记录总数, 非 0 值则返回
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(1000) = ’’ -- 查询条件 (注意: 不要加 where)
AS

declare @strSQL varchar(1000) -- 主语句
declare @strTmp varchar(300) -- 临时变量
declare @strOrder varchar(400) -- 排序类型

if @OrderType != 0
begin
set @strTmp = " <(select min "
set @strOrder = " order by [ " + @fldName + "] desc "
end
else
begin
set @strTmp = "> (select max "
set @strOrder = " order by [ " + @fldName + "] asc "
end

set @strSQL = "select top " + str(@PageSize) + " * from [ "
+ @tblName + "] where [ " + @fldName + "] " + @strTmp + "([ "
+ @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " [ "
+ @fldName + "] from [ " + @tblName + "] " + @strOrder + ") as tblTmp) "
+ @strOrder

if @strWhere != ’’
set @strSQL = "select top " + str(@PageSize) + " * from [ "
+ @tblName + "] where [ " + @fldName + "] " + @strTmp + "([ "
+ @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " [ "
+ @fldName + "] from [ " + @tblName + "] where " + @strWhere + " "
+ @strOrder + ") as tblTmp) and " + @strWhere + " " + @strOrder

if @PageIndex = 1
begin
set @strTmp = " "
if @strWhere != ’’
set @strTmp = " where " + @strWhere

set @strSQL = "select top " + str(@PageSize) + " * from [ "
+ @tblName + "] " + @strTmp + " " + @strOrder
end

if @IsCount != 0
set @strSQL = "select count(*) as Total from [ " + @tblName + "] "

exec (@strSQL)
GO
--结束

------解决方案--------------------
Google 吴旗娃的分页控件 里面有例子,用到了sqlserver的新函数效率挺高的。
------解决方案--------------------
哇,这问题就给100分,好大方呀
嘎嘎
数据多写存储过程,不多就不用写了

你数据多不多?
------解决方案--------------------
存储过程分页