質問: C# DataSetとBindingList〈T〉について 家計簿プログラムを作っていて、支出項目の登録先となるデータベースを何で実現しようか迷っています。 登録画面はデータグリッドビューです。 〈
回答: 懸念されているように、サイズの大きなファイルというのは、追記だけなら速いのですが、一部を書き換えるとか、検索する処理は、かなり遅くなります。いろいろ工夫することは可能ですが、かなり面倒ですし難しいです。 家計簿は、過去のデータの編集や削除も必要でしょうから、普通のファイルでは厳しいのではないでしょうか。データベース(DBMS)を使われた方が良いと思います。 配布のことを考えるなら、サーバーが不要な SQLite というのがありますので、これを使ってはいかがでしょうか。使い方は、「C# SQLite」等で検索すればいっぱい出てきます。 また、DataSet というのは、データの読み込み方法ではなく、データの入れ物にすぎません。DataSet に全データを入れることも可能でしょうし、ひと月分だけ読み込むことも可能です。作り次第ということです。 SQLite のようなDBMSを使うなら、DataSet で良いと思いますが、DataSet に全レコードを読み込むのではなく、必要な分だけ読み込むようにすることが必要でしょう。 質問の意図を理解しきれていない部分もあるかと思いますので、わからないことがあれば返信ください。