用SqlDataReader得到数据记录可以分页吗?

jeanso 2004-08-11 08:26:22
我用Table控件循环显示的,可以分页吗?怎么做呢?
...全文
297 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunyc 2004-08-11
  • 打赏
  • 举报
回复
顺便,给你篇文章,供你参考。还是通过SQL语句这里想想办法比较现实。我一直都是用与这个类似的方法的
一条 sql 语句搞定数据库分页


一条语句搞定数据库分页

select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段

10 = 每页记录数

20 = (当前页 + 1) * 每页记录数

以上语句即可以实现分页,但是最后取出的结果排序是升序,如果需要结果集为降序(例如时间),则有两种方法可以处理

1.使用以下语句,但效率可能要降低一些

select * from 表名 b, (select top 10 主键字段,排序字段 from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a order by 排序字段 ) c where b.主键字段 = c.主键字段 order by c.排序字段 desc

2.在ado里处理,将记录集游标移到最后,然后前移

''以下为asp范例

set rsTemp = Server.CreateObject("adodb.recordset")

rsTemp.Open 语句,conn,1,1

rsTemp.MoveLast

for i = 1 to rsTemp.RecordCount

'取值....

rsTemp.MovePrevious

next
sunyc 2004-08-11
  • 打赏
  • 举报
回复
用datagrid来显示是可以的。
SqlDataReader本身没有分页功能。
daou101 2004-08-11
  • 打赏
  • 举报
回复
数据量太大,只好考虑结合使用分页的存储过程。
cnlamar 2004-08-11
  • 打赏
  • 举报
回复
没有什么不可以,这样做很好:D
DataGird对于大数据量是很无奈的。
liuwei6102 2004-08-11
  • 打赏
  • 举报
回复
我对 你所说的分发很感兴趣

希望有高手指教
happyfamily 2004-08-11
  • 打赏
  • 举报
回复
DataReader是顺序读数据的,分页是不好控制的,还用DataGrid吧。
taina2008 2004-08-11
  • 打赏
  • 举报
回复
一条一条的读不就可以控制分页了,不过这是在是没有必要,用datagrid非常好。
http://dotnet.aspx.cc/ShowDetail.aspx?id=B12283DE-DB20-4322-ACCC-12724442808A
jeanso 2004-08-11
  • 打赏
  • 举报
回复
用存储过程?又没有代码啊?
iazxq 2004-08-11
  • 打赏
  • 举报
回复
DataReader是面向连接的,
我觉得最好的办法是把所有的内容读出来存在一个类数组里面,
然后绑定数组到talbe,这样分页比较合适!
possible_Y 2004-08-11
  • 打赏
  • 举报
回复
用datagrid显示的话可以利用datagrid控件来实现分页
possible_Y 2004-08-11
  • 打赏
  • 举报
回复
可以分页,需要你自己来实现

比如用存储过程
再次声明 千万不要把XiaoQi.dll 跟 XiaoQi.XML 给分开 2013年3月8号 修复了很多bug 调整了源代码 添加的时候 一定要引用 不要直接复制DLL 不然没有方法注释 最强大分分页控件 华丽的分页控件 实用的分页控件 有最新最实用的方法 联系小柒 下面是 AspNetHelp 类 方法概述 ///Show()弹出对话框 ///重载Show()弹出对话框 并且跳转界面 ///ShowJavascript()执行javascript脚本 ///FileDelete()给出文件虚拟路径删除文件 ///FileSize()获取上传文件大小 ///FileUpload()文件上传 路径upload/ 自动重命名 ///FileDownload()文件下载 调用方法如 FileDownload(Response,Server,文件虚拟路径) ///FileTxtWrite()写入TXT文本 给出要创建Txt 文本的地址 ///FileTxtReader()读取TXT文本 Txt 文本的地址 返回一个数组 每一行为数组里的一个元素 ///StringEncrypt() DES字符串加密中文不可以加密 ///StringDecrypt()DES解密字符串 ///StringMD5Encrypt()MD5加密 ///StringPYChar()单个汉字返回该汉字首字母 ///StringRandom()生成指定位数的随机数 ///StringEdit()给出指定字符串长度多少位后用点显示... ///StringReplaceSpace()替换文本中的空格和换行 ///StringColor()改变字的颜色 ///StringNull()当对象是空的时候 转为空字符串 ///StringConvert()汉字转拼音 ///StringNumber()数字转换中文 ///StringRep()url参数为中文时候转换加密 ///StringRes()url参数为中文时候转换解密 ///ShowWindowForm()弹出新窗口页面 ///ShowFormModalDialog()弹出模式窗口页面 ///SqlGetMaxID()给出表名列名 int类型 查询出最大列值+1 适用于主键 ///SqlGetSingle()执行一条计算查询结果语句,返回查询结果(object)。 ///SqlExecute()执行SQL语句,返回影响的记录数 ///SqlRunStr()执行SQL语句,不返回影响的记录数 ///SqlRunReturn()执行SQL语句,并返回第一行第一列结果 ///SqlGetReader()获得SqlDataReader对象 使用完须关闭DataReader,关闭数据库连接 ///SqlGetTable()执行查询语句,返回DataTable ///SqlDataSet()执行查询语句,返回DataSet ///SqlIsCunZai()执行Sql 语句查询是否有数据 如果没有返回假 ///SqlRunProc()执行存储过程 ///DataBindDropDownListDefault()DropDownList控件绑定 带默认选择项 如"请选择" ///DataBindDropDownList()DropDownList控件绑定 不带默认选择项 ///DataBindRadioButtonList()RadioButtonList控件绑定 默认第一个选中 ///DataBindCheckBoxList()CheckBoxList控件绑定 ///ElseIpAddr()调用此方法 返回当前登录的省市IP地址 ///ElseDataTimeIng()返回本地电脑的当前日期的年月日时分秒 动态的显示 JS实现 ///ElsePageLoad()页面加载数据加载完成呈现页面 ///ElseCkeck()返回页面验证码图片 使用方法:单独创建一个页面 在首次加载事件里写 AspNetHelp.ElseCkeck(Page); 在使用验证码的页面直接写 img src="这个页面的路径" 注意验证码保存在 Session["CheckCode"]中 这里是区分大小写的 ///ElseColorRGB()由于QQ截图的取色会出现RGB的颜色 这里能转换成16进制 分页控件详情请看内置文档
再次声明 千万不要把XiaoQi.dll 跟 XiaoQi.XML 给分开 添加的时候 一定要引用 不要直接复制DLL 不然没有方法注释 最强大分分页控件 华丽的分页控件 实用的分页控件 有最新最实用的方法 联系小柒 下面是 AspNetHelp 类 方法概述 ///Show()弹出对话框 ///重载Show()弹出对话框 并且跳转界面 ///ShowJavascript()执行javascript脚本 ///FileDelete()给出文件虚拟路径删除文件 ///FileSize()获取上传文件大小 ///FileUpload()文件上传 路径upload/ 自动重命名 ///FileDownload()文件下载 调用方法如 FileDownload(Response,Server,文件虚拟路径) ///FileTxtWrite()写入TXT文本 给出要创建Txt 文本的地址 ///FileTxtReader()读取TXT文本 Txt 文本的地址 返回一个数组 每一行为数组里的一个元素 ///StringEncrypt() DES字符串加密中文不可以加密 ///StringDecrypt()DES解密字符串 ///StringMD5Encrypt()MD5加密 ///StringPYChar()单个汉字返回该汉字首字母 ///StringRandom()生成指定位数的随机数 ///StringEdit()给出指定字符串长度多少位后用点显示... ///StringReplaceSpace()替换文本中的空格和换行 ///StringColor()改变字的颜色 ///StringNull()当对象是空的时候 转为空字符串 ///StringConvert()汉字转拼音 ///StringNumber()数字转换中文 ///StringRep()url参数为中文时候转换加密 ///StringRes()url参数为中文时候转换解密 ///ShowWindowForm()弹出新窗口页面 ///ShowFormModalDialog()弹出模式窗口页面 ///SqlGetMaxID()给出表名列名 int类型 查询出最大列值+1 适用于主键 ///SqlGetSingle()执行一条计算查询结果语句,返回查询结果(object)。 ///SqlExecute()执行SQL语句,返回影响的记录数 ///SqlRunStr()执行SQL语句,不返回影响的记录数 ///SqlRunReturn()执行SQL语句,并返回第一行第一列结果 ///SqlGetReader()获得SqlDataReader对象 使用完须关闭DataReader,关闭数据库连接 ///SqlGetTable()执行查询语句,返回DataTable ///SqlDataSet()执行查询语句,返回DataSet ///SqlIsCunZai()执行Sql 语句查询是否有数据 如果没有返回假 ///SqlRunProc()执行存储过程 ///DataBindDropDownListDefault()DropDownList控件绑定 带默认选择项 如"请选择" ///DataBindDropDownList()DropDownList控件绑定 不带默认选择项 ///DataBindRadioButtonList()RadioButtonList控件绑定 默认第一个选中 ///DataBindCheckBoxList()CheckBoxList控件绑定 ///ElseIpAddr()调用此方法 返回当前登录的省市IP地址 ///ElseDataTimeIng()返回本地电脑的当前日期的年月日时分秒 动态的显示 JS实现 ///ElsePageLoad()页面加载数据加载完成呈现页面 ///ElseCkeck()返回页面验证码图片 使用方法:单独创建一个页面 在首次加载事件里写 AspNetHelp.ElseCkeck(Page); 在使用验证码的页面直接写 img src="这个页面的路径" 注意验证码保存在 Session["CheckCode"]中 这里是区分大小写的 ///ElseColorRGB()由于QQ截图的取色会出现RGB的颜色 这里能转换成16进制 分页控件详情请看内置文档
再次声明 千万不要把XiaoQi.dll 跟 XiaoQi.XML 给分开 添加的时候 一定要引用 不要直接复制DLL 不然没有方法注释 有最新最实用的方法 联系小柒 下面是 AspNetHelp 类 方法概述 ///Show()弹出对话框 ///重载Show()弹出对话框 并且跳转界面 ///ShowJavascript()执行javascript脚本 ///FileDelete()给出文件虚拟路径删除文件 ///FileSize()获取上传文件大小 ///FileUpload()文件上传 路径upload/ 自动重命名 ///FileDownload()文件下载 调用方法如 FileDownload(Response,Server,文件虚拟路径) ///FileTxtWrite()写入TXT文本 给出要创建Txt 文本的地址 ///FileTxtReader()读取TXT文本 Txt 文本的地址 返回一个数组 每一行为数组里的一个元素 ///StringEncrypt() DES字符串加密中文不可以加密 ///StringDecrypt()DES解密字符串 ///StringMD5Encrypt()MD5加密 ///StringPYChar()单个汉字返回该汉字首字母 ///StringRandom()生成指定位数的随机数 ///StringEdit()给出指定字符串长度多少位后用点显示... ///StringReplaceSpace()替换文本中的空格和换行 ///StringColor()改变字的颜色 ///StringNull()当对象是空的时候 转为空字符串 ///StringConvert()汉字转拼音 ///StringNumber()数字转换中文 ///StringRep()url参数为中文时候转换加密 ///StringRes()url参数为中文时候转换解密 ///ShowWindowForm()弹出新窗口页面 ///ShowFormModalDialog()弹出模式窗口页面 ///SqlGetMaxID()给出表名列名 int类型 查询出最大列值+1 适用于主键 ///SqlGetSingle()执行一条计算查询结果语句,返回查询结果(object)。 ///SqlExecute()执行SQL语句,返回影响的记录数 ///SqlRunStr()执行SQL语句,不返回影响的记录数 ///SqlRunReturn()执行SQL语句,并返回第一行第一列结果 ///SqlGetReader()获得SqlDataReader对象 使用完须关闭DataReader,关闭数据库连接 ///SqlGetTable()执行查询语句,返回DataTable ///SqlDataSet()执行查询语句,返回DataSet ///SqlIsCunZai()执行Sql 语句查询是否有数据 如果没有返回假 ///SqlRunProc()执行存储过程 ///DataBindDropDownListDefault()DropDownList控件绑定 带默认选择项 如"请选择" ///DataBindDropDownList()DropDownList控件绑定 不带默认选择项 ///DataBindRadioButtonList()RadioButtonList控件绑定 默认第一个选中 ///DataBindCheckBoxList()CheckBoxList控件绑定 ///ElseIpAddr()调用此方法 返回当前登录的省市IP地址 ///ElseDataTimeIng()返回本地电脑的当前日期的年月日时分秒 动态的显示 JS实现 ///ElsePageLoad()页面加载数据加载完成呈现页面 ///ElseCkeck()返回页面验证码图片 使用方法:单独创建一个页面 在首次加载事件里写 AspNetHelp.ElseCkeck(Page); 在使用验证码的页面直接写 img src="这个页面的路径" 注意验证码保存在 Session["CheckCode"]中 这里是区分大小写的 ///ElseColorRGB()由于QQ截图的取色会出现RGB的颜色 这里能转换成16进制
再次声明 千万不要把XiaoQi.dll 跟 XiaoQi.XML 给分开 添加的时候 一定要引用 不要直接复制DLL 不然没有方法注释 有最新最实用的方法 联系小柒 下面是 AspNetHelp 类 方法概述 ///Show()弹出对话框 ///重载Show()弹出对话框 并且跳转界面 ///ShowJavascript()执行javascript脚本 ///FileDelete()给出文件虚拟路径删除文件 ///FileSize()获取上传文件大小 ///FileUpload()文件上传 路径upload/ 自动重命名 ///FileDownload()文件下载 调用方法如 FileDownload(Response,Server,文件虚拟路径) ///FileTxtWrite()写入TXT文本 给出要创建Txt 文本的地址 ///FileTxtReader()读取TXT文本 Txt 文本的地址 返回一个数组 每一行为数组里的一个元素 ///StringEncrypt() DES字符串加密中文不可以加密 ///StringDecrypt()DES解密字符串 ///StringMD5Encrypt()MD5加密 ///StringPYChar()单个汉字返回该汉字首字母 ///StringRandom()生成指定位数的随机数 ///StringEdit()给出指定字符串长度多少位后用点显示... ///StringReplaceSpace()替换文本中的空格和换行     ///StringColor()改变字的颜色 ///StringNull()当对象是空的时候 转为空字符串 ///StringConvert()汉字转拼音 ///StringNumber()数字转换中文 ///StringRep()url参数为中文时候转换加密 ///StringRes()url参数为中文时候转换解密 ///ShowWindowForm()弹出新窗口页面 ///ShowFormModalDialog()弹出模式窗口页面 ///SqlGetMaxID()给出表名列名 int类型 查询出最大列值+1 适用于主键 ///SqlGetSingle()执行一条计算查询结果语句,返回查询结果(object)。 ///SqlExecute()执行SQL语句,返回影响的记录数 ///SqlRunStr()执行SQL语句,不返回影响的记录数 ///SqlRunReturn()执行SQL语句,并返回第一行第一列结果 ///SqlGetReader()获得SqlDataReader对象 使用完须关闭DataReader,关闭数据库连接 ///SqlGetTable()执行查询语句,返回DataTable ///SqlDataSet()执行查询语句,返回DataSet ///SqlIsCunZai()执行Sql 语句查询是否有数据 如果没有返回假 ///SqlRunProc()执行存储过程 ///DataBindDropDownListDefault()DropDownList控件绑定 带默认选择项 如"请选择" ///DataBindDropDownList()DropDownList控件绑定 不带默认选择项 ///DataBindRadioButtonList()RadioButtonList控件绑定 默认第一个选中 ///DataBindCheckBoxList()CheckBoxList控件绑定 ///ElseIpAddr()调用此方法 返回当前登录的省市IP地址 ///ElseDataTimeIng()返回本地电脑的当前日期的年月日时分秒 动态的显示 JS实现 ///ElsePageLoad()页面加载数据加载完成呈现页面 ///ElseCkeck()返回页面验证码图片 使用方法:单独创建一个页面 在首次加载事件里写 AspNetHelp.ElseCkeck(Page); 在使用验证码的页面直接写 img src="这个页面的路径" 注意验证码保存在 Session["CheckCode"]中 这里是区分大小写的 ///ElseColorRGB()由于QQ截图的取色会出现RGB的颜色 这里能转换成16进制
基于web的科研信息管理系统论文! 目  录 论 文 摘 要 2 关键词 2 ABSTRACT 3 KEY WORDS 3 目  录 4 第1章 绪论 7 1.1 科研管理系统的开发背景 7 1.2 开发目标 7 第2章 需求分析 8 2.1需求分析的目的 8 2.2任务目标 8 2.3信息需求 9 2.4功能需求 9 第3章 系统设计 10 3.1系统设计目的 10 3.2系统结构设计 10 3.2.1 科研信息管理系统 10 3.2.2 课题管理 10 3.2.3 论文管理 11 3.2.4 论著管理 11 3.2.5 成果管理 11 3.2.6 获奖管理 11 3.2.7 合同管理 12 3.2.8 档案管理 12 3.2.9 项目评审 12 3.2.10 系统管理 12 3.2.11注册流程 13 3.2.12用户安全管理 13 3.2.13课题操作流程 14 3.3 用户界面设计规则 15 3.4 系统总体流程 16 第4章 运行环境的要求 17 4.1 软件要求 17 4.2 硬件要求 17 第5章 ASP.NET 18 5.1 WEB窗体 18 5.2 WEB服务器控件 19 5.3 ASP.NET的常用内置对象 21 5.3.1 Response对象 21 5.3.2 Request对象 22 5.3.3 Server对象 22 5.3.4 Application对象 23 5.3.5 Session对象 25 6章 SQL SERVER 2005 数据库 26 6.1 SQL SERVER 2005数据库的简介 26 6.2 SQL SERVER 2005数据库的语法规则 26 6.3 数据库的数据模型 26 6.4 数据库的建立及说明 27 第7章 ADO.NET数据访问技术 34 7.1 ADO.NET的概述 34 7.1.1 ADO.NET提供的主要特性: 34 7.1.2 ADO.NET的数据提供程序 34 7.2 .NET FRAMEWORK数据提供程序 35 7.3.NET FRAMEWORK数据提供程序的核心对象 36 7.4 .NET FRAMEWORK DATASET 37 第8章 程序中的数据读取说明 39 8.1 用DATAREADER对象和COMMAND对象读取数据 39 8.1.1sqlDataReader对象 39 8.1.2 Command对象 39 8.1.3 DataReader对象检索数据的步骤 39 8.2 数据填充到DATASET的步骤 40 8.2.1 DataSet对象 40 8.2.2 填充数据集的步骤 40 第9章 功能实现的代码说明 41 9.1 数据库的连接、打开与关闭、导入命名空间 41 9.2 提示框的方法 41 9.3 在日历中的获取时间 41 9.3.1填充用于选择年和月的Dropdownlist控件(只在页面初始化时加载一次) 41 9.3.2给日历控件的年月赋值(在控件dat或mon的值改变时向服务器回发) 42 9.3.3 用控件接收日历的值 42 9.4 生成表中不存在的随机数 42 9.5 文件上传 43 9.6 随机抽取5条记录并把数据插入到表中 43 9.7 VS2005 GRIDVIEW控件使用方法 44 9.7.1'绑定GridView 44 9.7.2 取消事件 44 9.7.3 删除事件 44 9.7.4 编辑事件 44 9.7.5 更新事件 45 9.7.6 分页(在属性中的设置分页) 45 9.8 LISTBOX的数据的添加与移除并把数据添加到数据库 45 9.8.1listbox的数据的添加 45 9.8.2listbox的数据的删除 45 9.8.3 把listbox中的数据的添加到数据库 45 9.9 控件DROPDOWNLIST(它的ID是D1) 的数据填充 46 参考文献 47 附录Ⅰ 程序设计与代码实现 48

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧