對不起,他們問這個問題已經問了很多次了,但是我還沒有找到最好的答案。管理表中的記錄的最佳方式
我擔心應用需要較長的時間來下載記錄或篩選記錄。假設我有一個名爲tbl_customer的表。並在tbl_customer記錄超過10,000行。
第一個問題,我正在使用數據網格視圖來顯示記錄。如果我將的所有記錄下載到數據網格視圖中多達10,000行,會是理想的嗎?或者,我最好把記錄行限制?
第二個問題,什麼是tbl_customer過濾記錄最好的方式。我們只需要使用SQL查詢?或使用LINQ?或者有更好的方法?
現在,我只能用這樣的方式:
DataTable dtCustomer = new DataTable();
using (SqlConnection conn = new SqlConnection(cs.connString))
{
string query = "SELECT customerName,customerAddress FROM tbl_customer WHERE customerAddress = '"+addressValue+"' ORDER BY customerName ASC;";
using (SqlDataAdapter adap = new SqlDataAdapter(query, conn))
{
adap.Fill(dtCustomer);
}
}
dgvListCustomer.DataSource = dtCustomer
然後我學習有關LINQ,所以我不喜歡這樣
DataTable dtCustomer = new DataTable();
using (SqlConnection conn = new SqlConnection(cs.connString))
{
string query = "SELECT * FROM tbl_customer ORDER BY customerName ASC;";
using (SqlDataAdapter adap = new SqlDataAdapter(query, conn))
{
adap.Fill(dtCustomer);
}
}
var resultCustomer = from row in dtCustomer.AsEnumerable()
where row.Field<string>("customerAddress") == addressValue
select new
{
customerName = row["customerName"].ToString(),
customerAddress = row2["customerAddress"].ToString(),
};
dgvListCustomer.DataSource = resultCustomer;
工作流SQL> DATATABLE> LINQ>的DataGridView是適合過濾記錄?或者如果有更好的建議是最受歡迎的。
謝謝你.. :)
這裏有幾件事。首先,不要使用第一個示例中提供的SQL(查詢SQL注入)。其次,Linq-To-SQL的工作方式與您在本節中展示的方式不同。試試這個MSDN鏈接的更好的例子http://msdn.microsoft.com/en-us/library/bb425822.aspx – sybkar
@sybkar:謝謝隊友.. :) – Chuki2