[英]Is there a way to create an SQL Table from a dynamically generated fields (Field name, Field type)
[英]How to Add Data Dynamically to sql server table from dynamically generated fields on Webform?
我有一个带有某些字段的Webform(ASPX),用于收集用户信息并将信息存储在DB(sql server 2008)表中。 现在,当用户想要添加额外的数据时出现了问题。
假设用户正在输入其属性的详细信息(网络表单上的5个字段用于捕获数据,并转到DB表中的5个字段),
现在,如果用户具有多个属性,并且他也想输入该属性的详细信息(他单击“添加”按钮,该按钮将为其他属性详细信息添加额外的5个字段,但是表格中仍有5个字段存储了第一个属性详细信息的数据)据我了解,这些是选项:
1)在创建表时将多余的字段保留在表中。 像15个字段一样,用于输入3种类型的属性的详细信息(但这有两个缺点:1.表太大。2.如果这些字段仍然不够用怎么办)
2)提交表格后,根据用户添加的字段数更改我的表格。
3)在表中动态创建字段以在运行时添加数据(这似乎是一个可行的选择,但我不知道如何实现)
对于上述情况的示例,任何其他选择或建议都将有所帮助
您有几种选择
在所有数据都减少架构之后,请使用少架构数据库来获取此信息,因此关系数据库不太适合。 如果您不控制自己的技术栈,可能会很棘手。
减少伪造的架构,将对象序列化为XML或JSON并将其放在字段中。 如果要查询,可能会出现问题。
创建一个数据结构,在该结构中,对象有一个表,属性有另一个表,因此一个对象有许多属性。 属性表为实例具有的每个属性提供一个条目。
例如
东西表
ThingID int
Name varchar
ThingProperties表
ThingPropertID int
ThingID int
Name varchar
Value varchar
您可以查询此内容,并且相对容易构建页面并将其保存回去。
如果您知道它们始终是五批,那么在属性表中可以有五列,每一行都是一批,但这可能会变得更复杂。
从根本上说,每条信息都具有许多属性,您需要建模才能捕获这种关系。 由于种种原因,试图保持动态更改表将是一个非常糟糕的主意。
第三个示例用于关系数据库,创建两个表结构,其中明细表为父级每行保留一个属性
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.