繁体   English   中英

如何从Webform上动态生成的字段向SQL服务器表动态添加数据?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM