彼らがこの質問を何度も尋ねられたことを残念に思いますが、私はまだ最良の答えを見つけていません。
アプリケーションがレコードをダウンロードしたり、レコードをフィルタリングしたりするのに長い時間がかかるのではないかと心配しています。tbl_customerというテーブルがあると仮定します。そして、tbl_customerに10,000行以上を記録します。
最初の質問は、データグリッドビューを使用してレコードを表示しています。10,000行までのすべてのレコードをデータグリッドビューにダウンロードすると理想的ですか?または、レコード行の制限を設定したほうがよいでしょうか。
2番目の質問、 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はレコードのフィルタリングに適していますか?または、より良い提案があれば大歓迎です。
ありがとうございます..:)