DataAdapterにパフォーマンスの問題があることは知っていますが、速度が速い可能性があります。現時点では、DataAdapter.Fillメソッドは3000レコードで5〜6秒かかっていますが、これは私のアプリケーションにとっては遅すぎます。 Fill
行を削除してSQL(SQLCEを使用)を実行すると、20ミリ秒かかるので、クエリが問題ではないと推測しています。私はBeginLoadData
をデータテーブルに追加しようとしましたが、パフォーマンスに大きな違いはありません。DataAdapter.Fill too slow
using (SqlCeConnection con = new SqlCeConnection(conString))
{
con.Open();
using (SqlCeDataAdapter dAdapter= new SqlCeDataAdapter())
{
using (SqlCeCommand com = new SqlCeCommand(query, con))
{
com.Parameters.Add("uname", textBox1.Text);
dAdapter.SelectCommand = com;
dAdapter.SelectCommand.Connection = con;
DataTable dTable = new DataTable();
dAdapter.Fill(dTable);
dataGridView1.DataSource = dTable;
}
}
}
があるのDataGridViewを埋めるかFill
方法をスピードアップするためのより良い方法はありますか?
いいえ。 DataReaderを使用します。 – vcsjones
おそらくそれは問題の接続速度ですか? – CamronBute
あなたはdTableを宣言していてどこにコードを貼り付けることができますか?もしあなたがUpdateやDeletesやInsertのようなことをやっているのであれば、DataReaderを使うよりもはるかに高速です。 – MethodMan