我很抱歉他们问这个问题已经被问了很多次了,但我仍然没有找到最好的答案。
我担心应用程序需要很长时间才能下载记录或过滤记录。假设我有一个名为 tbl_customer的表。并在 tbl_customer 中记录超过10,000 行。
第一个问题,我使用Data Grid View 来显示记录。如果我将最多 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;
Workflow SQL> DATATABLE> LINQ > DataGridView适合过滤记录吗?或者如果有更好的建议欢迎。
谢谢..:)