|
分類:[.NET 全般]
お世話になっております。
ツール:VisualStudio2005 言語 :C#.net OS :WindowsXP sp2 DB :Oracle10g
の環境にて作成及び動作するWindowsアプリケーションで データベースからの抽出結果を DataGridViewに表示しております。
データベースからDataGridViewへの表示は
------------------------------------------------------------------
//データ抽出 //※factoryはDbProviderFactory / commandはDbCommand で経緯は省略 DataAdapter dataAdapter = factory.CreateDataAdapter(); dataAdapter.SelectCommand = command;
DataTable dt = new DataTable();
//Fill実行 ※1 dataAdapter.Fill(dt);
//DataGridViewへデータを表示 ※2 dataGridView1.DataSource = dt;
-------------------------------------------------------------------
のように行っており、30000件ほどのデータを表示しようとすると Fill実行部(※1)で30秒、DataGridViewへ表示(※2)で1秒の時間がかかります。
Fill部で時間がかかっているようですが、ここを高速化する何か良い方法はありますでしょうか? 全件をメモリに確保するのではなく、表示する分のみを確保する方法など・・
色々情報を検索しているのですが良い情報が見あたりません。
C#.net 初心者で申し訳ございませんが よろしくお願いいたします。
|