|
分類:[.NET 全般]
初めての書き込みになります。皆様、よろしくお願いします。
開発環境:VisualStudio2005 開発言語:C#&ADO.NET OS:WinXP Pro
現在、FormにDataGridViewを貼り付け、DataSetをバインディングした簡易データベースのようなアプリを 作成しております。機能的にはフィールドの追加・削除等も出来るようになっており、この操作を行う際に は、メインのFormにて、DataSetのコピーを作成後、フィールド操作用のダイアログにこのコピーを渡して、 そのダイアログにて、渡されたDataSetのコピーを操作して、DataColumnの登録・削除を行うというフロー をとっています。なおDataSetのコピーは、DataSet.Copy()にて行っています。 ※フィールド操作用ダイアログがOKで終了した場合、コピー作成されたDataSetをメインのDataSetとして更新
このフローを実行中に、問題が発生してしまいました。DataSetの持つレコードやフィールド数が多い場合、 DataSet.Copy()の実行に非常に時間がかかるのです。ちなみにレコード数:30000、フィールド数:128で計 測してみたのですが、50秒近くかかりました。アプリの仕様としてはレコード数の上限は60000、フィール ド数の上限は256とする予定なのですが、これではお話にならないレベルです。 ※DataSetの容量が大きくなると、DataGridViewの動作も非常に遅くなり、これにも困っているのですが・・・
他に方法はないものかと探してみたのですが、なかなか情報が得られませんでした。現状の状態ではアプリ として使い物にならず、非常に困っております。回避方法又は高速化の方法をご存じの方がおられましたら、 些細な事でも助かりますので、ご教授頂けないでしょうか。
宜しくお願い致します。
|