当前位置:编程学习 > C#/ASP.NET >>

C#方法问题希望会的求解一下

在窗体上用datagridview控件刷新了数据库
怎么去实现我点击一个button按钮
实现下一面的功能
代码具体怎么写
求高手 --------------------编程问答-------------------- 这问题让人看的,木有懂~ --------------------编程问答-------------------- 下一页的功能吧? --------------------编程问答-------------------- 不会啊
就是提取一个表的信息
分页显示他
求解 --------------------编程问答-------------------- 拼sql了、 top  --------------------编程问答-------------------- --------------------编程问答-------------------- google 下 SQL分页存储过程  有示例的代码 可以参考下 --------------------编程问答-------------------- 是不是要分页的存储过程。

如下;

CREATE  procedure [dbo].[showpage_out_count]
(
--1,参数的括号可要可不要,有默认值的参数,在调用的时候,可以不写出来
--2,调用:
--declare @i int
--exec showpage_out_count 'ORG_USER','ID,LOGINNAME,REALNAME','ID',12,1,0,'DEPARTMENTID=8',@i out
--print @i

@tblName      varchar(100),       -- 表名
@fldCow       varchar(1000)='*',   -- 要查询的列
@fldName      varchar(255),       -- 排序列
@PageSize     int = 10,           -- 页尺寸
@PageIndex    int = 1,            -- 页码
@OrderType    int = 1,            -- 设置排序类型, 1则降序
@strWhere     varchar(1500) = '',  -- 查询条件 (注意: 不要加 where)
@count int  output      --输出符合条件的记录的总数
)
AS
declare @strSQL   varchar(5000);       -- 主语句
declare @strOrder varchar(500)  ;      -- 排序类型
declare @strTmp   varchar(100) ;   --临时变量
declare @endIndex int;      -- 结束的索引
declare @startIndex int;     -- 开始的索引
declare @countSql nvarchar(1500);    --查询记录总数的SQL
--得到索引
set @startIndex=(@PageIndex-1)*@PageSize + 1;--注意,这里要加1
set @endIndex=@PageIndex*@PageSize;
--生成排序语句
--为了多表联合查询,这里要把表名字和排序字段的[]去掉-
if @OrderType != 0
set @strOrder = ' order by ' + @fldName + ' desc'
else
set @strOrder = ' order by ' + @fldName + ' asc'
set @strSQL = '(select top ' + ltrim(str(@endIndex)) + ' '+@fldCow+','
+ 'row_number() over ('+ @strOrder +') as rownumber from '
+ @tblName + '' ;
set @countSql= 'select @count=count('+@fldName+') from '+ @tblName ;

if @strWhere! = ''
begin
set @strSQL =@strSQL+ ' where ('+ @strWhere + ') ';
set @countSql=@countSql + ' where ('+ @strWhere + ') ';
end
set @strSQL =@strSQL+ ') as tblTmp'
--得到记录总数
set @countSql=N'select @count=count(*) from ' + @tblName;
if @strWhere! = ''
set @countSql=@countSql+ N' where ' + @strWhere;
EXEC sp_executesql @countSql,N'@count int out',@count out
set @strSQL = 'select * from ' + @strSQL + ' where rownumber between ' + ltrim(str(@startIndex)) + ' and '
+ ltrim(str(@endIndex));
--执行主语句
set nocount on -- 防止显示有关受影响的行数的信息
exec (@strSQL)
--print @strSQL


GO
--------------------编程问答-------------------- 用BindingNavigator控件可以实现分页,而且零代码,你愿意用吗 --------------------编程问答-------------------- 对于LZ的结贴率,我表示鸭梨很大。~ --------------------编程问答--------------------         --------------------编程问答-------------------- 你的问题问的让我费解,都没有看懂什么意思。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,