2017-06-14 102 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