0

WebMatrix C# でサイトを構築しており、データベースから入力する必要がある複数の入力フィールドを含むページがあります。データを取得しているテーブルには、ID が入力フィールド ID に対応する ID/値列の組み合わせがあります。

テーブルは次のようになります。ここで、field_data = data field_name = 入力フィールドに一致する ID

id      doc_id     field_data          field_name
------  -------    -------------       ------------   
45680   1549       Astoria Apartments   q4_1Property
45681   1549       1000                 q11_7Arbor
45682   1549       61 Street            q12_8Other[0][]
45683   1549       Cleveland            q12_8Other[0][1]
45684   1549       Ohio                 q12_8Other[1][]
45685   1549       43589                q12_8Other[1][1]
45686   1549       USA                  q12_8Other[2][]
45687   1549       12                   q12_8Other[2][1]
45688   1549       d                    q12_8Other[3][]
45689   1549       13                   q12_8Other[3][1]

私はこれを行うことができます:

var queryinputvalue = "SELECT field_data FROM document_data WHERE field_name = @0 AND doc_id = @1";

<input type="text" class=" form-textbox" id="input_4" name="q4_1Property" size="20" value="@db.QueryValue(queryinputvalue, "q4_1Property", 1549)"/>

しかし、これらのフォームの一部には 100 を超える入力フィールドがあり、フィールドごとに個別のデータベース クエリを作成するのは過剰に思えます。

すべてのデータに対して単一のクエリを作成し、そのクエリから必要なデータのみを選択する方法はありますか?

以下のように、[] 内のものは、クエリから返される行を WebMatrix に伝える必要があります。

var queryinputvalue = db.Query("SELECT * FROM document_data WHERE doc_id = @1", 1549);

<input type="text" class=" form-textbox" id="input_4" name="q4_1Property" size="20" value="@queryinputvalue.[SELECT row where field_name = 'q4_1Property'].field_data"/>

助けてくれてありがとう。

4

1 に答える 1