2017-06-14 36 views
0

在我的MVC应用程序,我们需要一次加载超过10万的纪录,但在检索量等我的浏览器中得到坠毁数据..如何在数据表中加载大量的数据?

下面是我的代码

string sql = "SELECT * FROM DBO.MY_TEST_DATA"; 
//MSSQL CONNECTION STRING 
string myCnString = "Data Source=MYIPSERVER;Initial Catalog=my_database; 
Persist Security Info=True;User ID=sa;Password=myPwd"; 
DataTable dt = GetDataTable(myCnString, sql); 
//Todo: Use the table data 

    public DataTable GetDataTable(string cnString, string sql) 
    { 
    using (SqlConnection cn = new SqlConnection(cnString)) 
     { 
     cn.Open(); 

      using (SqlDataAdapter da = new SqlDataAdapter(sql, cn)) 
      { 
      da.SelectCommand.CommandTimeout = 120; 
       DataSet ds = new DataSet(); 
       da.Fill(ds); 
       return ds.Tables[0]; 
      } 
     } 
    } 
+3

用户不可能在页面上吸收那么多信息。使用服务器端分页。 –

+1

你为什么要这样做?没有人会看100000+数据行。如果你想转让他们提供他们作为下载或Web服务。如果你想显示数据只传输相关数据。 –

+0

你试图做的不是一个好习惯。查看分页并将数据行一次一批地提供给客户端(页面大小)。您可以使用本机的ASP.NET数据网格,也可以使用jQuery DataTables等第三方数据网格。 –

回答

0

Bhagyashree,这将是用服务器端分页完成它要好得多。它也提高了应用程序的性能。如果你不知道如何实现,那么你可以看看here,你也可以从Google获得更多的帮助!

0

嗨,你可以通过使用寻呼的优点来解决这个问题。

分页是通过将它们分成不同的页面来显示大量记录的过程。这可以通过一个例子来更好地解释。考虑在表中有10000条记录要在最终用户请求时显示给他们。非常简单的事情就是通过从数据库中提取一个简单的select * from查询来显示所有的数据。好的,你完成了,你的工作结束了。你在代码中已检查... Continue reading

,如果你想实现分页,没有任何第三方插件,请参考以下链接:https://www.aspsnippets.com/Articles/Paging-Pagination-example-in-ASPNet-MVC.aspx

希望的信息是有益的

感谢

Karthik