我有一個表格,其中包含字段ID,FormName和其他字段。獲取數據的sql幫助
我有另一個名爲FormField的表,它具有FormId作爲外鍵以及ID和FieldName和FieldValue字段。
這個想法是,這應該能夠保存和檢索通用形式的數據。
如何從Forms表中獲取所有數據並將所有數據與正確的FormId相關?
E.g.我希望它返回帶有「FormData」列的行,該列可以存儲來自FormFields表的所有數據。
我使用SQL Server
我有一個表格,其中包含字段ID,FormName和其他字段。獲取數據的sql幫助
我有另一個名爲FormField的表,它具有FormId作爲外鍵以及ID和FieldName和FieldValue字段。
這個想法是,這應該能夠保存和檢索通用形式的數據。
如何從Forms表中獲取所有數據並將所有數據與正確的FormId相關?
E.g.我希望它返回帶有「FormData」列的行,該列可以存儲來自FormFields表的所有數據。
我使用SQL Server
您不想在存儲表單模式(描述表單的數據)的同一個表中存儲表單數據(某人填入表單的數據)。從概念上講,這與一個類和一個實例之間的區別是相同的:表單模式就像一個類,填充的形式就像是一個形式的實例。
所以,你有一個表格列出了表格和一個表格,列出了這些表格上的字段。大。要獲取表單字段架構@FormID:
Select *
From FormFields
Where FormID = @FormID
假設您以某種方式呈現表單並允許用戶填充字段。保存時,應該將這些數據保存在別的地方。你冷的另一組表保存這些數據:
Table: FormInstances
Field: ID int - form instance ID
Field: FormID int - link to table FormTable
Field: Name varchar(50) - a short descriptive name of this instance (e.g. Bobs expenses for 1/1/2010)
Field: Created datetime
Field: Edited datetime
etc.
Table: FormFieldData
Field: ID int
Field: FieldID int - link to table FormFields
Field: Value (this is the problem with an abstract system like this - what data type to use for the field values)
etc.
然而,你好得多使用文件來保存表單模式和表單內容,同時使用數據庫管理表單。 XML是爲這類事情創建的(q.v. XForms)。