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"/>
助けてくれてありがとう。