0

FirstName、LastName、Emailの3つのフィールドを持つ事前定義されたフォームがあり、このフォームがID、FirstName、LastName、Emailのテーブルユーザーにマップされているとします。

ユーザーがBirthDateなどの新しいフィールドを追加したいとします。ユーザーはフィールドのタイプを選択します。ここでは、DateTime texboxと、誕生日などのフィールドの横にあるテキストですが、この列をユーザーテーブルに追加するにはどうすればよいですか。

どんな助けでも大歓迎です

ジョセフ

4

1 に答える 1

1

ユーザーが実際のデータベース テーブルにフィールドを動的に追加する現実的な方法はありません。'DateOfBirth' や 'ShoeSize' のような新しいフィールドを作成するためではありません。

ただし、アプリケーションのコア設計を変更することで、ユーザーから動的データを取得できます。データを固定の「水平」テーブルに保存する代わりに、データベースを抽象化し、各値を個別のレコードとして保存する必要があります。これは「垂直」テーブルのようなものです。

したがって、次のようなテーブルがあります

Field, Data, Type
---------------------------
"FirstName", "John", string
"LastName", "Smith", string
"DateOfBirth", "01/01/1950", datetime
"ShoeSize", "4", int

テクノロジーの問題ではなく、アーキテクチャの問題です。

ここに非常に優れた記事があり、それについてより深く議論しています。

これにより、アプリケーションがかなり抽象的になり、型の安全性が低下し、はるかに複雑になることを理解することが重要です。関連する余分な作業を完全に理解していない限り、これを試みることはお勧めしません。

于 2012-09-07T09:57:32.227 に答える