如何在datatable中加载大量数据?

时间:2017-06-14 06:27:50

标签: c# asp.net-mvc sql-server-2008 ado.net

在我的mvc应用程序中,我们需要一次加载超过100000条记录,但在检索大量数据时,我的浏览器会崩溃..

以下是我的代码

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];
            }
        }
    }

2 个答案:

答案 0 :(得分:0)

Bhagyashree,使用服务器端分页完成它会好得多。它还可以提高应用程序的性能。如果您不了解如何实施,那么您可以查看here,您也可以从Google获得更多帮助!

答案 1 :(得分:0)

您好,您可以通过使用分页的优势来解决这个问题。

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

如果您想在没有任何第三方插件的情况下实施分页,请参阅以下链接:https://www.aspsnippets.com/Articles/Paging-Pagination-example-in-ASPNet-MVC.aspx

希望信息有用

由于

KARTHIK