知识大全 调整SqlDataSource控件的DataSourceMode属性的方法

Posted

篇首语:只给君子看门,不给小人当家。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 调整SqlDataSource控件的DataSourceMode属性的方法相关的知识,希望对你有一定的参考价值。

调整SqlDataSource控件的DataSourceMode属性的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在 ASP NET 页面中的控件 若要展示数据库的数据 或要写入数据库时 我们可从 VS 的「工具箱」中点选 DataSource 控件 用鼠标拖曳 轻松地建立数据库联机 但在 SqlDataSource 控件中 预设使用的联机方式 为具有「离线存取」功能的 DataSet 对象 但就如章老师讲的 不需要进行「排序 筛选与分页」时 根本没必要浪费内存 反而还牺牲了一些程序性能 (performance)

  因此 若您的 ASP NET 页面使用了 SqlDataSource 作为控件的数据来源 应视需求 再手动调整 DataSourceMode 属性 若您的 SqlDataSource 只是当作 Label DropDownList ListBox …等控件的数据绑定 纯粹用来「显示」数据 应如下图 所示 在 VS 中 在 SqlDataSource 的「属性」窗口中 将 DataSourceMode 属性改为「DataReader」(预设为 DataSet) 此举不但可提升程序存取速度 亦可节省 server 上因 DataSet 造成非必要的内存消耗 但若您的 SqlDataSource 是用来当作 GridView 控件的数据来源 且 GridView 需要 分页 排序 筛选 (非指 T SQL 语句的 WHERE 或 JOIN ON 而是指 DataSet 中的 DataTable 对象 RowFilter 属性 对已从数据库中捞取出来的数据再进行筛选) 这些功能 即不用再手动调整 DataSourceMode 属性 直接使用默认的 DataSet 即可

  

  图  将 SqlDataSource 的 DataSourceMode 属性 从默认的 DataSet 改成 DataReader

  在 ADO NET 中 DataReader 可「单向 (顺向) 只读」地读取数据库中的数据 优点是读取速度快 不须耗用 server 额外的内存 DataSet 则是一种可让使用者「离线」存取数据的模式 数据都会暂存至内存中 有如可离线操作的数据库 (大家可以先猜看看 是存在 client side 还是 server side 的内存)

  DataSet 是从 ADO NET x 开始 微软即大力推广的「离线数据库存取模式」 是为了改善早年 ADO 必须持续保持联机 但在有大量用户同时上线时 常造成 web 应用程序运作性能上的致命伤 如今透过 ADO NET + DataSet 的离线模式 当程序透过 ADO NET 取得数据之后 会立即和数据库断线 以释放资源 但使用者仍可透过应用程序 去存取内存中的数据库 (DataSet) 并在必要的时候 (例如要把修改过的数据回写到数据库) 才再重新建立联机回写 然后再断线 这样的运作方式 能有效地节省数据库联机资源 改善过去 ASP 网站为人垢病 遇到大量使用者同时存取时 性能不彰的缺点

  「DataSet 离线机制」若用来开发同时间有大量用户存取的网站时 也可减少与 server 往返沟通的次数 降低网络的流量 而「DataReader 实时联机机制」 在一般情况下的执行性能反而较好 因为 DataReader 在「读取」数据 (SQL SELECT) 的速度上 一定会比 DataSet 快

  至于 ADO NET 的离线机制 其 DataSet 对象到底存储在何处呢?就一些前辈们的使用经验而言 如果是一个 Windows Form 程序 其所建立的 DataSet 对象会储存在客户端的计算机内存中 它与后端 server 的数据来源是完全中断连接的 但如果是一个 Web Form 的 ASP NET 网页 则所建立的 DataSet 对象 会储存在 IIS server 的内存中

  此外 在 ADO NET 中 DataTable 已可单独存在 不必再依附于 DataSet 中 因此您也可视情况 以 DataTable 替代 DataSet 来撷取 操控数据 如此亦可耗用较少的系统资源

cha138/Article/program/net/201311/12302

相关参考

知识大全 复杂ASP.NET服务器控件调整小技巧

复杂ASP.NET服务器控件调整小技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 在页面方法执行或控件方法执行查找性能瓶颈

  在很多时候我们需要调整网站的性能通过iis日志分析网站的执行速度在执行速度有问题时我们不得不调试调试的时候就用到了当前页面的执行时间  我站点中的所有网页都从一个PageBase继承所以我把统计执

知识大全 7.2.3 数据源控件和数据绑定控件相配合

   如前两个小节所述ASPNET为处理数据提供两组控件数据源控件和数据绑定控件本节介绍它们是如何相互配合的数据源控件处理后台的数据连接以及编辑排序分页等行为数据绑定控件

知识大全 asp.net控件开发(一)-显示控件内容

  控件的显示自然会离不开输出HTMLCSSJavascript等前台的显示内容所以开发一个控件的时候第一件事就是要知道如何输出客户端要显示的内容  一选择基类  中所有的标准控件都可以拿过来作为基类

知识大全 基于控件构架开发访问JavaMail的控件

基于控件构架开发访问JavaMail的控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Bee

知识大全 Repeater控件测试Web控件的执行效率

Repeater控件测试Web控件的执行效率  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  测试

知识大全 Asp.net控件开发----控件开发基础

Asp.net控件开发----控件开发基础  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  服务器

知识大全 asp.net 控件开发(一)显示控件内容

  控件的显示自然会离不开输出cssjavascript等前台的显示内容所以开发一个控件的时候第一件事就是要知道如何输出客户端要显示的内容一选择基类    &n

知识大全 控件指南 使用Data控件访问数据库

控件指南使用Data控件访问数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用Data控

知识大全 .net WinForm用户控件开发:带按钮的textbox控件

.netWinForm用户控件开发:带按钮的textbox控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来