2011-06-27 8 views
0

標準的な方法はありますか?私はXMLの使用を検討していましたが、おそらくもっと簡単な方法があります。NameValueCollectionを読み取り可能な方法でデータベースフィールドに記録するにはどうすればよいですか?

明確にするために、私は全体のコレクションをデータベースの "詳細"列にダンプします - 私はいくつかの解析を行いますが、全体のセットのアーカイブを保持したいと思います。 SoapFormatterをうまく動作させることができましたが、少し重いです。

+0

あなたの価値はどのようになりますか?テキストだけ? – CharithJ

+0

値のテキストだけです。 – tofutim

+0

DBは単に名前付きの 'NameValueCollection'だけではありませんか? – leppie

答えて

0

1つのオプションは、NameValueCollectionをシリアライズし、バイト[]をデータベースに保存することです。 XMLシリアル化またはBinaryFormatterのいずれかを使用できます。

2つの列を持つ表。 FirstColumn:ログのキー SecondColumn:値(namevalueCollectionを持つシリアライズされたログ)。

編集:

値は単なるテキストである場合。それをそのまま保存してください。シリアル化したり、xmlに変換する必要はありません。最初の列でキーを保存し、2番目の列に値を保存します。

+0

ありがとうございましたCharith、私は実際にはコレクション全体をdbのフィールドにバックアップとして保存する方法を探していました。 – tofutim

+0

@tofutim:もしそうなら、シリアライズして保存するのが良い選択です。 – CharithJ

2

DBに名前の値のペアとしてNameValueのペアを格納することで、この問題が解決します。

ie。名前と値の列(名前が一意でない場合はプライマリキーIDかもしれません)を持つテーブルを用意し、コレクションのforeachアイテムに行を挿入できます。

値を取得したい名前がどこにあるのかを選択するだけで簡単に取得できます。

関連する問題