【问题标题】:Which is good way to bind more than 10000 records with sql?用sql绑定超过10000条记录的好方法是什么?
【发布时间】:2009-11-08 01:03:35
【问题描述】:

第一种方式使用java脚本

第二种方式在asp.net sqldatasourse中使用Data source

在将数据加载到网页时压力更小

【问题讨论】:

  • 谁说不能使用 javascript 从 SQLDataSource 中检索信息?

标签: asp.net javascript data-binding datagridview


【解决方案1】:

将 10000 条记录绑定到网页中是一个可怕的想法。明智的解决方案是分页;即它们显示数据的子集,然后让用户在其中向上/向下翻页。

【讨论】:

  • ya..我知道分页在那里......但它用于查看......数据..在页面模式下..但我想将这种类型的数据与datagrid..通过使用哪种方法。告诉我哪种方法..我提到了两种方法..上面..哪个更好以及如何..告诉我..请
  • @sikender:您需要学习使用大型数据集和 Ajax 的基础知识。您似乎正在寻找可以复制和粘贴的答案。学习任何技术都需要半心半意的尝试。学习 Ajax in Action 并学习基础知识,然后升级到您喜欢的任何框架。
【解决方案2】:

回应sikender的评论

是的..我知道分页在那里...但是它用于查看...数据..在页面模式下..但我想将这种类型的数据与datagrid..通过使用哪种方法绑定。告诉我哪种方法..我提到了两种方法..上面..哪个更好以及如何..告诉我..请

异步 ​​javascript 调用可能压力较小,因为客户端将能够看到页面部分加载及其数据。

【讨论】:

  • 你能给我举个例子吗?
【解决方案3】:

您可能希望对数据进行分页,具体取决于您的操作方式,您可以使用 javascript 或 .net sqldatasource 两种方式。

如果您不担心用户拥有 javascript 功能,我会使用 javascript 加载数据以获得更好的用户体验。

这是一个关于如何使用 ajax:Grid 来分页数据而无需回发的示例。

http://dotnetslackers.com/articles/ajax/ASPNETAjaxGridAndPager.aspx

【讨论】:

    【解决方案4】:

    为什么要使用 javascript 方法绑定你的数据网格?

    为什么不使用数据表?

    //一些代码sn-p

    例如

    datatable myDt = getTheDataSourceFromDatabase();
         if(myDt != null && myDt.rows.count > 0)
    {
       myDatagrid.datasource = myDt;
       myDatagrid.databind();
    }
    

    如果您需要异步响应,请使用更新面板。

    使用javascript方法有很多陷阱

    a) 客户端可以禁用浏览器的 JavaScript

    b) Sql 注入,因为您不能在通过 javascript 访问时使用存储过程,除非您使用 native ajax 等来列出一些

    因此,繁重的数据库操作在服务器端完成。

    否则最好进行分页..您不必一次从数据库中取出所有记录。编写一个存储过程,它将接受开始和结束页限制并获取记录(use row_number() function)。或者,使用LINQ 执行相同操作(via Take & Skip

    例如a)Using Take and Skip method in LINQ queries

    b)Custom Paging in GridView Using LINQ

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 2019-10-23
      相关资源
      最近更新 更多