えーと、データ自体は住所録のようなイメージです。それが1~2万件程度です。
アプリの表示形式としては、エクスプローラスタイルで、左にツリービュー、
右にリストビューのレポート形式で表示しています。
条件をつけて検索すると、1~2万件程度の中から条件にあった項目をリストビュー
に出力するという動作をするのですが、この時のデータの扱いを自前処理の.csvから
データベースに移行しようと考えた訳です。
試しにMS-Accessでテーブルを作成して、CDaoRecordset()等を使用してデータベー
スの入出力を行ってみたら出来たので、これでいけるかなと思ったのですが、
データベースの動作環境などの知識がなく、自分のPC環境以外でも動作するか
どうかちんぷんかんぷんでした。
>ないよ!
は余り適切な回答とは思いません。SQL が使えるような大き目のデーターベースだけが
データーベースではありませんし、桃太郎さんが欲しているものがデーターベースなのか
どうかも(そう呼んでいるようですが)よく分からないじゃありませんか?
(確かに、今データーベースと普通に呼ぶものを指している場合は「ない」というのが
正解でしょう)
例えば、昔良くあった ISAM ライブラリーやカード型などと呼んでいたものなどの
リレーショナルでないもので間に合うかもしれません
フィールド数が10で1万件程度のデーター量ならなおさらでしょう
STL の std::vector を使えば割に楽になるかもしれません
一件当り400バイトだとしても一万件では4Mバイトにしか過ぎませんから
現在のように256Mバイト程度の主記憶を積んでいるような機械ならメモリーに
データーがいつもあるつもりで処理が出来るでしょう
検索するのなら sort() して、lower_bound() なり、upper_bound() なり
equal_range() なりが使えるでしょう。検索キーが複数のフィールドにある場合には
絞込検索や別途検索キーを合成するなどして実現可能だと思われます
ただ、この方法ではあまり込み入った検索は一発で記述はできませんから、使う人が
目的の条件に合った物が得られるまで適切に条件を設定して操作を繰り返す必要がある
かも知れません
レスありがとうございます。
>(確かに、今データーベースと普通に呼ぶものを指している場合は「ない」とい
>うのが正解でしょう)
やはり大きめ(?)のデータベースではそれなりのセットアップが必要ということですね。
>STL の std::vector を使えば割に楽になるかもしれません
>一件当り400バイトだとしても一万件では4Mバイトにしか過ぎませんから
>現在のように256Mバイト程度の主記憶を積んでいるような機械ならメモリーに
>データーがいつもあるつもりで処理が出来るでしょう
STLも選択肢の一つに入っていたのですが、listかvectorか迷っていました。
確かに4M程度なら問題なく動作しそうですね。この場合、ファイル入出力は
今までどおり.csvで行い、内部処理をSTL化するということですね。
>参考に
> http://support.microsoft.com/default.aspx?scid=kb; [LN];271908
「マイクロソフト サポート技術情報 - 233002」にDAO 3.6の再配布方法が
載っていました。参考にしてみます。