• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > DataAdapter.Fill指定条数记录,数据库返回全部记录还是返回所指定的记录条数?

DataAdapter.Fill指定条数记录,数据库返回全部记录还是返回所指定的记录条数?

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-29

通过本文主要向大家介绍了DataAdapter.Fill指定条数记录,数据库返回全部记录还是返回所指定的记录条数?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

DataAdapter.Fill指定条数记录,数据库返回全部记录还是返回所指定的记录条数?
我一直使用DataAdapter.Fill方法,比如:OleDbDataAdapter.Fill(dataset1,0,10,"table1")这种方法来进行分页,
但是我也一直不清楚Fill方法到底和数据库怎么交互的.

比如数据库里有100条记录,而OleDbDataAdapter.Fill(dataset1,0,10,"table1")会取得10条记录
那么:
OleDbDataAdapter是从数据库取得100条记录,然后从中选10条记录给DataSet呢?
还是数据库只返回了10条记录给OleDbDataAdapter?


请高手指点,顺便请教此类问题应该去哪里搜索?MSDN上找了下,没有找到.

我一直认为是后者,这样用我的分页方法,性能就会高一些.
如果是前者,那么我也就没必要自己分页那么辛苦了,直接用控件的分页功能就好了.


------解决方案--------------------
从数据库取得100条记录,然后选10条记录给DataSet的。

您如果有兴趣的话,可以看看DBDataAdapter的源代码。

private int FillInternal(DataSet dataset, DataTable[] datatables, int startRecord, int maxRecords, string srcTable, IDbCommand command, CommandBehavior behavior)
{
bool flag = null == command.Connection;
try
{
IDbConnection connection = GetConnection3(this, command, "Fill");
ConnectionState open = ConnectionState.Open;
if (MissingSchemaAction.AddWithKey == base.MissingSchemaAction)
{
behavior |= CommandBehavior.KeyInfo;
}
try
{
QuietOpen(connection, out open);
behavior |= CommandBehavior.SequentialAccess;
using (IDataReader reader = null)
{
reader = command.ExecuteReader(behavior);
if (datatables != null)
{
return this.Fill(datatables, reader, startRecord, maxRecords);
}
return this.Fill(dataset, srcTable, reader, startRecord, maxRecords);
}
}
finally
{
QuietClose(connection, open);
}
}
finally
{
if (flag)
{
command.Transaction = null;
command.Connection = null;
}
}
return 0;
}


------解决方案--------------------
这方面会有性能问题吗
连接数据库这方面 
------解决方案--------------------
楼主可以试着找一下分页存储过程。在客房端调用存储在服务器端的分页存储过程,这样做性能可能要比那样好点。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • DataAdapter.Fill指定条数记录,数据库返回全部记录还是返回所指定的记录条数?

相关文章

  • 2017-05-28举例讲解C#编程中对设计模式中的单例模式的运用
  • 2017-05-28基于C#实现一个最简单的HTTP服务器实例
  • 2017-05-28解决C#中WebBrowser的DocumentCompleted事件不执行的实现方法
  • 2017-05-28C#中TransactionScope的使用小结
  • 2017-05-28C#获取U盘序列号的方法
  • 2017-05-28C#默认双缓冲技术实例分析
  • 2017-05-28c# mutex互斥量的深入解析
  • 2017-05-28c#递归生成XML实例
  • 2017-05-28C#实现简单过滤非法字符实例
  • 2017-05-28C#难点逐个击破(9):类型转换

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 重温C# clr 笔记总结
    • C#实现简单过滤非法字符实例
    • C#中的IDisposable模式用法详解
    • C#实现的简单验证码识别实例
    • C#事件用法实例浅析
    • oledb连接access数据库示例
    • C#设置页面单位和缩放的方法
    • C# 获取汉字的拼音首字母
    • 在C#中根据HardwareID获取驱动程序信息的实现代码
    • C#学习笔记整理_深入剖析构造函数、析构函数

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有