ここから本文です

C# DataSetとBindingList〈T〉について 家計簿プログラムを作っていて、支出項...

sir********さん

2015/6/1014:00:01

C# DataSetとBindingList〈T〉について

家計簿プログラムを作っていて、支出項目の登録先となるデータベースを何で実現しようか迷っています。
登録画面はデータグリッドビューです。

実現したい機能〉
支出登録画面。
支出を分類分けする。
各分類の月ごとの合計額を計算する。
その変化を、グラフで表示する。
また、支出総合計の月ごとの変化もグラフにする。

ちなみに、登録画面とグラフ画面は分けます。
データベースに登録した支出データをxmlファイルにして保存。
データ保存用のファイルは一つのみ作成。
保存したファイルを、グラフ表示画面で読み取り、グラフを作る。

〈気になること〉
ファイルが一つなので、登録データが増えれば殖えるほど、読み込み書き込み時に時間がかかってしまうのではないか、と心配しています。

DataSetなら、ひと月にひとテーブル作ることにより、他の月のデータを読み込んだり書き込んだりしなくて済むのではないかと素人ながらに予想しています。

しかし、そういった利点がないのであれば、データ一時保存先のクラスを作って、グリッドビューにそのクラスをBindして終わりにしようかと考えています。


私が考えている以外の方法でも構いませんので、アイデアをいただけると嬉しいですm(_ _)m

閲覧数:
404
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

テッテさん

2015/6/1201:31:42

懸念されているように、サイズの大きなファイルというのは、追記だけなら速いのですが、一部を書き換えるとか、検索する処理は、かなり遅くなります。いろいろ工夫することは可能ですが、かなり面倒ですし難しいです。

家計簿は、過去のデータの編集や削除も必要でしょうから、普通のファイルでは厳しいのではないでしょうか。データベース(DBMS)を使われた方が良いと思います。

配布のことを考えるなら、サーバーが不要な SQLite というのがありますので、これを使ってはいかがでしょうか。使い方は、「C# SQLite」等で検索すればいっぱい出てきます。

また、DataSet というのは、データの読み込み方法ではなく、データの入れ物にすぎません。DataSet に全データを入れることも可能でしょうし、ひと月分だけ読み込むことも可能です。作り次第ということです。

SQLite のようなDBMSを使うなら、DataSet で良いと思いますが、DataSet に全レコードを読み込むのではなく、必要な分だけ読み込むようにすることが必要でしょう。

質問の意図を理解しきれていない部分もあるかと思いますので、わからないことがあれば返信ください。

この回答は投票によってベストアンサーに選ばれました!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる